/** Shopify CDN: Minification failed

Line 13239:1 Expected "}" to go with "{"

**/
/*! flickity */

.flickity-enabled {
  position: relative
}

.flickity-enabled:focus {
  outline: none
}

.flickity-viewport {
  height: 100%;
  overflow: hidden;
  position: relative
}

.flickity-slider {
  position: absolute;
  height: 100%;
  width: 100%
}

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  user-select: none
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: grab
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: grabbing
}

.flickity-slider .flickity-cell {
  position: absolute;
  left: 0;
}

.flickity-rtl .flickity-cell {
  left: unset;
  right: 0;
}

.flickity-button {
  background: hsla(0, 0%, 100%, .75);
  border: none;
  color: #333;
  position: absolute
}

.flickity-button:hover {
  background: #fff;
  cursor: pointer
}

.flickity-button:focus {
  box-shadow: 0 0 0 5px #19f;
  outline: none
}

.flickity-button:active {
  opacity: .6
}

.flickity-button:disabled {
  cursor: auto;
  opacity: .3;
  pointer-events: none
}

.flickity-button-icon {
  fill: currentColor
}

.flickity-prev-next-button {
  border-radius: 50%;
  height: 44px;
  width: 44px;
  inset-block-start: 50%;
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous {
  inset-inline-start: 10px
}

.flickity-prev-next-button.next {
  inset-inline-end: 10px
}

.flickity-prev-next-button .flickity-button-icon {
  height: 60%;
  width: 60%;
  position: absolute;
  inset-block-start: 20%;
  inset-inline-start: 20%;
}

.flickity-page-dots {
  padding: 0;
  margin: 0;
  margin-block-start: var(--sp-6);
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  list-style: none;
}

.flickity-rtl .flickity-page-dots {
  direction: rtl
}

.flickity-page-dot {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--sp-6);
  height: var(--sp-6);
  border-radius: var(--rounded-full);
  transition: box-shadow var(--animation-primary);
}

.flickity-page-dot::before {
  content: '';
  display: block;
  width: 5px;
  height: 5px;
  background-color: rgb(var(--color-foreground));
  border-radius: var(--rounded-full);
  transition: var(--animation-primary);
  transition-property: background-color, box-shadow;
}

.flickity-page-dot.is-selected::before,
.flickity-page-dot[aria-current=true]::before {
  width: 5px;
  height: 5px;
  background-color: transparent;
  box-shadow: 0 0 0 2px rgb(var(--color-foreground));
}

.flickity-enabled.is-fade .flickity-slider>* {
  pointer-events: none;
  z-index: 0;
}

.flickity-enabled.is-fade .flickity-slider>.is-selected {
  pointer-events: auto;
  z-index: 1;
}

/*! base */

@keyframes fade-in {
  0% {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes fade-out {
  0% {
    opacity: 1
  }

  to {
    opacity: 0
  }
}

@keyframes appear-down {
  0% {
    opacity: 0;
    transform: translateY(-1rem)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@keyframes appear-up {
  0% {
    opacity: 0;
    transform: translateY(1rem)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}


.pointer-events-none {
  pointer-events: none
}

.pointer-events-auto {
  pointer-events: auto
}

.visible {
  visibility: visible
}

.static {
  position: static
}

.fixed {
  position: fixed
}

.absolute {
  position: absolute
}

.relative {
  position: relative
}

.sticky {
  position: sticky
}

.box-border {
  box-sizing: border-box
}

.cursor-default {
  cursor: default
}

.cursor-pointer {
  cursor: pointer
}

.table-cell {
  display: table-cell;
}

.block {
  display: block
}

.inline-block {
  display: inline-block
}

.inline {
  display: inline
}

.flex {
  display: flex
}

.inline-flex {
  display: inline-flex
}

.grid {
  display: grid
}

.contents {
  display: contents
}

.hidden,
[hidden] {
  display: none
}

.overflow-hidden {
  overflow: hidden
}

.overflow-visible {
  overflow: visible
}

.p-0 {
  padding: 0
}

.py-0 {
  padding-block: 0;
}

.px-0 {
  padding-inline: 0;
}

.rounded-full {
  border-radius: var(--rounded-full)
}

.uppercase {
  text-transform: uppercase
}

.normal-case {
  text-transform: none
}

.text-left {
  text-align: start
}

.text-center {
  text-align: center
}

.text-right {
  text-align: end
}

.text-inherit {
  text-align: inherit
}

.text-8xl {
  font-size: var(--text-8xl);
  line-height: 1.6
}

.text-6xl {
  font-size: var(--text-6xl);
  line-height: 1.6
}

.text-5xl {
  font-size: var(--text-5xl);
  line-height: 1.6
}

.text-4xl {
  font-size: var(--text-4xl);
  line-height: 1.6
}

.text-3xl {
  font-size: var(--text-3xl);
  line-height: 1.6
}

.text-2xl {
  font-size: var(--text-2xl);
  line-height: 1.6
}

.text-xl {
  font-size: var(--text-xl);
  line-height: 1.6
}

.text-lg {
  font-size: var(--text-lg);
  line-height: 1.6
}

.text-base {
  font-size: var(--text-base);
  line-height: 1.6
}

.text-2sm {
  font-size: var(--text-2sm);
  line-height: 1.6
}

.text-sm {
  font-size: var(--text-sm);
  line-height: 1.6
}

.text-xs {
  font-size: var(--text-xs);
  line-height: 1.6
}

.text-3xs {
  font-size: var(--text-3xs);
}

.text-sm-base {
  font-size: var(--fluid-sm-to-base);
}

.text-sm-lg {
  font-size: var(--fluid-sm-to-lg);
}

.text-base-xl {
  font-size: var(--fluid-base-to-xl);
}

.text-base-2xl {
  font-size: var(--fluid-base-to-2xl);
}

.text-lg-2xl {
  font-size: var(--fluid-lg-to-2xl);
}

.text-xl-3xl {
  font-size: var(--fluid-xl-to-3xl);
}

.font-bold {
  font-weight: var(--font-bold)
}

.font-medium {
  font-weight: var(--font-medium)
}

.font-normal {
  font-weight: var(--font-normal)
}

.italic {
  font-style: italic
}

.not-italic {
  font-style: normal
}

.list-none {
  list-style-type: none
}

.list-disc {
  list-style-type: disc
}

.list-decimal {
  list-style-type: decimal
}

.list-disc,
.list-decimal {
  list-style-position: inside
}

.top-0 {
  inset-block-start: 0;
}

.top-100 {
  inset-block-start: 100%;
}

.left-0 {
  inset-inline-start: 0;
}

.left-100 {
  inset-inline-start: 100%;
}

.bottom-0 {
  inset-block-end: 0;
}

.bottom-100 {
  inset-block-end: 100%;
}

.right-0 {
  inset-inline-end: 0;
}

.right-100 {
  inset-inline-end: 100%;
}

.h-auto {
  height: auto
}

.h-full {
  height: 100%
}

.h-screen {
  height: 100vh
}

.h-fit {
  height: fit-content
}

.w-auto {
  width: auto
}

.w-full {
  width: 100%
}

.w-screen {
  width: 100vw
}

.w-fit {
  width: fit-content
}

.z-1 {
  z-index: 1
}

.z-2 {
  z-index: 2
}

.z-3 {
  z-index: 3
}

.z-10 {
  z-index: 10
}

.z-15 {
  z-index: 15
}

.z-20 {
  z-index: 20
}

.z-25 {
  z-index: 25
}

.z-30 {
  z-index: 30
}

.z-35 {
  z-index: 35
}

.z-40 {
  z-index: 40
}

.z-45 {
  z-index: 45
}

.z-50 {
  z-index: 50
}

.z-100 {
  z-index: 100
}

.max-w-full {
  max-width: 100%
}

.visible {
  visibility: visible
}

.invisible {
  visibility: hidden
}

.opacity-0 {
  opacity: 0
}

@media (prefers-reduced-motion: no-preference) {
  .js .js-invisible {
    visibility: hidden
  }
}

.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

@keyframes spin {
  to {
    transform: rotate(1turn)
  }
}

.animate-spin {
  animation: spin 1s linear infinite
}

@keyframes rotator {
  0% {
    transform: rotate(0)
  }

  to {
    transform: rotate(270deg)
  }
}

.animate-rotator {
  animation: rotator 1.4s infinite linear
}

.select-none {
  user-select: none
}

.resize {
  resize: both
}

.line-clamp-1 {
  display: -webkit-box;
  line-clamp: 1;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden
}

.line-clamp-2 {
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden
}

.line-clamp-3 {
  display: -webkit-box;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden
}

.col-span-6 {
  grid-column: span 6/span 6
}

.col-span-full {
  grid-column: 1/-1
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr))
}

.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr))
}

.grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr))
}

.flex-row {
  flex-direction: row;
}

.flex-row-reverse {
  flex-direction: row-reverse;
}

.flex-col {
  flex-direction: column;
}

.flex-col-reverse {
  flex-direction: column-reverse;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-nowrap {
  flex-wrap: nowrap;
}

.items-start {
  align-items: flex-start;
}

.items-end {
  align-items: flex-end;
}

.items-center {
  align-items: center;
}

.items-baseline {
  align-items: baseline
}

.justify-start {
  justify-content: flex-start;
}

.justify-end {
  justify-content: flex-end;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.place-self-start {
  place-self: start
}

.place-self-end {
  place-self: end
}

.place-self-center {
  place-self: center
}

.justify-self-start {
  justify-self: flex-start
}

.justify-self-end {
  justify-self: flex-end
}

.justify-self-center {
  justify-self: center
}

.align-self-start {
  align-self: flex-start
}

.align-self-end {
  align-self: flex-end
}

.align-self-center {
  align-self: center
}

.align-self-stretch {
  align-self: stretch
}

.shrink {
  flex-shrink: 1
}

.shrink-0 {
  flex-shrink: 0
}

.grow {
  flex-grow: 1
}

.grow-0 {
  flex-grow: 0
}

.gap-0 {
  gap: 0
}

.gap-0d5 {
  gap: var(--sp-0d5)
}

.gap-1 {
  gap: var(--sp-1)
}

.gap-1d5 {
  gap: var(--sp-1d5)
}

.gap-2 {
  gap: 10px;
}

.gap-2d5 {
  gap: var(--sp-2d5)
}

.gap-3 {
  gap: var(--sp-3)
}

.gap-3d5 {
  gap: var(--sp-3d5)
}

.gap-4 {
  gap: var(--sp-4)
}

.gap-4d5 {
  gap: var(--sp-4d5)
}

.gap-5 {
  gap: var(--sp-5)
}

.gap-5d5 {
  gap: var(--sp-5d5)
}

.gap-6 {
  gap: var(--sp-6)
}

.gap-6d5 {
  gap: var(--sp-6d5)
}

.gap-7 {
  gap: var(--sp-7)
}

.gap-7d5 {
  gap: var(--sp-7d5)
}

.gap-8 {
  gap: var(--sp-8)
}

.gap-9 {
  gap: var(--sp-9)
}

.gap-10 {
  gap: var(--sp-10)
}

.gap-12 {
  gap: var(--sp-12)
}

.gap-14 {
  gap: var(--sp-14)
}

@media screen and (min-width: 640px) {
  .sm\:hidden {
    display: none
  }

  .sm\:block {
    display: block
  }

  .sm\:flex {
    display: flex
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:text-base {
    font-size: var(--text-base);
    line-height: 1.6
  }

  .sm\:text-sm {
    font-size: var(--text-sm);
    line-height: 1.6
  }

  .sm\:relative {
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .md\:sticky {
    position: sticky
  }

  .md\:left-0 {
    inset-inline-start: 0;
  }

  .md\:right-0 {
    inset-inline-end: 0;
  }

  .md\:overflow-hidden {
    overflow: hidden
  }

  .md\:overflow-visible {
    overflow: visible
  }

  .md\:text-left {
    text-align: start
  }

  .md\:text-center {
    text-align: center
  }

  .md\:text-right {
    text-align: end
  }

  .md\:text-inherit {
    text-align: inherit
  }

  .md\:table-cell {
    display: table-cell;
  }

  .md\:block {
    display: block
  }

  .md\:inline-block {
    display: inline-block
  }

  .md\:inline {
    display: inline
  }

  .md\:flex {
    display: flex
  }

  .md\:inline-flex {
    display: inline-flex
  }

  .md\:grid {
    display: grid
  }

  .md\:hidden {
    display: none;
  }

  .md\:col-span-5 {
    grid-column: span 5/span 5
  }

  .md\:col-span-6 {
    grid-column: span 6/span 6
  }

  .md\:col-span-7 {
    grid-column: span 7/span 7
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .md\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr))
  }

  .md\:text-base {
    font-size: var(--text-base);
    line-height: 1.6
  }

  .md\:flex-row {
    flex-direction: row;
  }

  .md\:flex-row-reverse {
    flex-direction: row-reverse;
  }

  .md\:flex-col {
    flex-direction: column;
  }

  .md\:flex-col-reverse {
    flex-direction: column-reverse;
  }

  .md\:flex-wrap {
    flex-wrap: wrap;
  }

  .md\:flex-nowrap {
    flex-wrap: nowrap;
  }

  .md\:items-start {
    align-items: flex-start;
  }

  .md\:items-end {
    align-items: flex-end;
  }

  .md\:items-center {
    align-items: center;
  }

  .md\:justify-start {
    justify-content: flex-start;
  }

  .md\:justify-end {
    justify-content: flex-end;
  }

  .md\:justify-center {
    justify-content: center;
  }

  .md\:justify-between {
    justify-content: space-between;
  }

  .md\:shrink {
    flex-shrink: 1
  }

  .md\:grow {
    flex-grow: 1
  }

  .md\:grow-0 {
    flex-grow: 0
  }

  .md\:gap-0 {
    gap: 0
  }

  .md\:gap-1 {
    gap: var(--sp-1)
  }

  .md\:gap-1d5 {
    gap: var(--sp-1d5)
  }

  .md\:gap-2 {
    gap: var(--sp-2)
  }

  .md\:gap-3 {
    gap: var(--sp-3)
  }

  .md\:gap-4 {
    gap: var(--sp-4)
  }

  .md\:gap-5 {
    gap: var(--sp-5)
  }

  .md\:gap-6 {
    gap: var(--sp-6)
  }

  .md\:gap-7 {
    gap: var(--sp-7)
  }

  .md\:gap-7d5 {
    gap: var(--sp-7d5)
  }

  .md\:gap-8 {
    gap: var(--sp-8)
  }

  .md\:gap-9 {
    gap: var(--sp-9)
  }

  .md\:gap-10 {
    gap: var(--sp-10)
  }

  .md\:gap-12 {
    gap: var(--sp-12)
  }

  .md\:gap-14 {
    gap: var(--sp-14)
  }

  .md\:text-5xl {
    font-size: var(--text-5xl);
    line-height: 1.6
  }

  .md\:text-4xl {
    font-size: var(--text-4xl);
    line-height: 1.6
  }

  .md\:text-3xl {
    font-size: var(--text-3xl);
    line-height: 1.6
  }

  .md\:text-2xl {
    font-size: var(--text-2xl);
    line-height: 1.6
  }

  .md\:text-xl {
    font-size: var(--text-xl);
    line-height: 1.6
  }

  .md\:text-lg {
    font-size: var(--text-lg);
    line-height: 1.6
  }

  .md\:text-base {
    font-size: var(--text-base);
    line-height: 1.6
  }

  .md\:text-sm {
    font-size: var(--text-sm);
    line-height: 1.6
  }

  .md\:text-xs {
    font-size: var(--text-xs);
    line-height: 1.6
  }

  .md\:font-bold {
    font-weight: var(--font-bold)
  }

  .md\:font-medium {
    font-weight: var(--font-medium)
  }

  .md\:opacity-0 {
    opacity: 0
  }

  .md\:w-full {
    width: 100%
  }

  .md\:w-fit {
    width: fit-content
  }
}

@media screen and (min-width: 1024px) {
  .lg\:sticky {
    position: sticky
  }

  .lg\:left-0 {
    inset-inline-start: 0;
  }

  .lg\:right-0 {
    inset-inline-end: 0;
  }

  .lg\:overflow-hidden {
    overflow: hidden
  }

  .lg\:overflow-visible {
    overflow: visible
  }

  .lg\:text-left {
    text-align: start
  }

  .lg\:text-center {
    text-align: center
  }

  .lg\:text-right {
    text-align: end
  }

  .lg\:text-inherit {
    text-align: inherit
  }

  .lg\:table-cell {
    display: table-cell;
  }

  .lg\:block {
    display: block
  }

  .lg\:inline-block {
    display: inline-block
  }

  .lg\:inline {
    display: inline
  }

  .lg\:flex {
    display: flex
  }

  .lg\:inline-flex {
    display: inline-flex
  }

  .lg\:grid {
    display: grid
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:col-span-5 {
    grid-column: span 5/span 5
  }

  .lg\:col-span-6 {
    grid-column: span 6/span 6
  }

  .lg\:col-span-7 {
    grid-column: span 7/span 7
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .lg\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr))
  }

  .lg\:text-base {
    font-size: var(--text-base);
    line-height: 1.6
  }

  .lg\:flex-row {
    flex-direction: row;
  }

  .lg\:flex-row-reverse {
    flex-direction: row-reverse;
  }

  .lg\:flex-col {
    flex-direction: column;
  }

  .lg\:flex-col-reverse {
    flex-direction: column-reverse;
  }

  .lg\:flex-wrap {
    flex-wrap: wrap;
  }

  .lg\:flex-nowrap {
    flex-wrap: nowrap;
  }

  .lg\:items-start {
    align-items: flex-start;
  }

  .lg\:items-end {
    align-items: flex-end;
  }

  .lg\:items-center {
    align-items: center;
  }

  .lg\:justify-start {
    justify-content: flex-start;
  }

  .lg\:justify-end {
    justify-content: flex-end;
  }

  .lg\:justify-center {
    justify-content: center;
  }

  .lg\:justify-between {
    justify-content: space-between;
  }

  .lg\:shrink {
    flex-shrink: 1
  }

  .lg\:grow {
    flex-grow: 1
  }

  .lg\:grow-0 {
    flex-grow: 0
  }

  .lg\:gap-0 {
    gap: 0
  }

  .lg\:gap-1 {
    gap: var(--sp-1)
  }

  .lg\:gap-1d5 {
    gap: var(--sp-1d5)
  }

  .lg\:gap-2 {
    gap: var(--sp-2)
  }

  .lg\:gap-3 {
    gap: var(--sp-3)
  }

  .lg\:gap-4 {
    gap: var(--sp-4)
  }

  .lg\:gap-5 {
    gap: var(--sp-5)
  }

  .lg\:gap-6 {
    gap: var(--sp-6)
  }

  .lg\:gap-7 {
    gap: var(--sp-7)
  }

  .lg\:gap-7d5 {
    gap: var(--sp-7d5)
  }

  .lg\:gap-8 {
    gap: var(--sp-8)
  }

  .lg\:gap-9 {
    gap: var(--sp-9)
  }

  .lg\:gap-10 {
    gap: var(--sp-10)
  }

  .lg\:gap-12 {
    gap: var(--sp-12)
  }

  .lg\:gap-14 {
    gap: var(--sp-14)
  }

  .lg\:text-5xl {
    font-size: var(--text-5xl);
    line-height: 1.6
  }

  .lg\:text-4xl {
    font-size: var(--text-4xl);
    line-height: 1.6
  }

  .lg\:text-3xl {
    font-size: var(--text-3xl);
    line-height: 1.6
  }

  .lg\:text-2xl {
    font-size: var(--text-2xl);
    line-height: 1.6
  }

  .lg\:text-xl {
    font-size: var(--text-xl);
    line-height: 1.6
  }

  .lg\:text-lg {
    font-size: var(--text-lg);
    line-height: 1.6
  }

  .lg\:text-base {
    font-size: var(--text-base);
    line-height: 1.6
  }

  .lg\:text-sm {
    font-size: var(--text-sm);
    line-height: 1.6
  }

  .lg\:text-xs {
    font-size: var(--text-xs);
    line-height: 1.6
  }

  .lg\:font-bold {
    font-weight: var(--font-bold);
  }

  .lg\:font-medium {
    font-weight: var(--font-medium);
  }

  .lg\:font-heading {
    font-weight: var(--font-heading-weight);
  }

  .lg\:opacity-0 {
    opacity: 0;
  }

  .lg\:w-full {
    width: 100%
  }

  .lg\:w-fit {
    width: fit-content
  }
}

@media screen and (min-width: 1280px) {
  .xl\:sticky {
    position: sticky
  }

  .xl\:left-0 {
    inset-inline-start: 0;
  }

  .xl\:right-0 {
    inset-inline-end: 0;
  }

  .xl\:overflow-hidden {
    overflow: hidden
  }

  .xl\:overflow-visible {
    overflow: visible
  }

  .xl\:text-left {
    text-align: start
  }

  .xl\:text-center {
    text-align: center
  }

  .xl\:text-right {
    text-align: end
  }

  .xl\:text-inherit {
    text-align: inherit
  }

  .xl\:table-cell {
    display: table-cell;
  }

  .xl\:block {
    display: block
  }

  .xl\:inline-block {
    display: inline-block
  }

  .xl\:inline {
    display: inline
  }

  .xl\:flex {
    display: flex
  }

  .xl\:inline-flex {
    display: inline-flex
  }

  .xl\:grid {
    display: grid
  }

  .xl\:hidden {
    display: none;
  }

  .xl\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .xl\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .xl\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr))
  }

  .xl\:flex-row {
    flex-direction: row;
  }

  .xl\:flex-row-reverse {
    flex-direction: row-reverse;
  }

  .xl\:flex-col {
    flex-direction: column;
  }

  .xl\:flex-col-reverse {
    flex-direction: column-reverse;
  }

  .xl\:flex-wrap {
    flex-wrap: wrap;
  }

  .xl\:flex-nowrap {
    flex-wrap: nowrap;
  }

  .xl\:items-start {
    align-items: flex-start;
  }

  .xl\:items-end {
    align-items: flex-end;
  }

  .xl\:items-center {
    align-items: center;
  }

  .xl\:justify-start {
    justify-content: flex-start;
  }

  .xl\:justify-end {
    justify-content: flex-end;
  }

  .xl\:justify-center {
    justify-content: center;
  }

  .xl\:justify-between {
    justify-content: space-between;
  }

  .xl\:shrink {
    flex-shrink: 1
  }

  .xl\:grow {
    flex-grow: 1
  }

  .xl\:grow-0 {
    flex-grow: 0
  }

  .xl\:gap-0 {
    gap: 0
  }

  .xl\:gap-1 {
    gap: var(--sp-1)
  }

  .xl\:gap-1d5 {
    gap: var(--sp-1d5)
  }

  .xl\:gap-2 {
    gap: var(--sp-2)
  }

  .xl\:gap-3 {
    gap: var(--sp-3)
  }

  .xl\:gap-4 {
    gap: var(--sp-4)
  }

  .xl\:gap-5 {
    gap: var(--sp-5)
  }

  .xl\:gap-6 {
    gap: var(--sp-6)
  }

  .xl\:gap-7 {
    gap: var(--sp-7)
  }

  .xl\:gap-7d5 {
    gap: var(--sp-7d5)
  }

  .xl\:gap-8 {
    gap: var(--sp-8)
  }

  .xl\:gap-9 {
    gap: var(--sp-9)
  }

  .xl\:gap-10 {
    gap: var(--sp-10)
  }

  .xl\:gap-12 {
    gap: var(--sp-12)
  }

  .xl\:gap-14 {
    gap: var(--sp-14)
  }

  .xl\:text-5xl {
    font-size: var(--text-5xl);
    line-height: 1.6
  }

  .xl\:text-4xl {
    font-size: var(--text-4xl);
    line-height: 1.6
  }

  .xl\:text-3xl {
    font-size: var(--text-3xl);
    line-height: 1.6
  }

  .xl\:text-2xl {
    font-size: var(--text-2xl);
    line-height: 1.6
  }

  .xl\:text-xl {
    font-size: var(--text-xl);
    line-height: 1.6
  }

  .xl\:text-lg {
    font-size: var(--text-lg);
    line-height: 1.6
  }

  .xl\:text-base {
    font-size: var(--text-base);
    line-height: 1.6
  }

  .xl\:text-sm {
    font-size: var(--text-sm);
    line-height: 1.6
  }

  .xl\:text-xs {
    font-size: var(--text-xs);
    line-height: 1.6
  }

  .xl\:font-bold {
    font-weight: var(--font-bold)
  }

  .xl\:font-medium {
    font-weight: var(--font-medium)
  }

  .xl\:opacity-0 {
    opacity: 0
  }

  .xl\:w-full {
    width: 100%
  }

  .xl\:w-fit {
    width: fit-content
  }
}

.leading-none {
  line-height: 1
}

.leading-tight {
  line-height: 1.25
}

.leading-normal {
  line-height: 1.6
}

.tracking-none {
  letter-spacing: 0;
}

.tracking-tighter {
  letter-spacing: -.05em
}

.tracking-tight {
  letter-spacing: -.025em
}

.tracking-wide {
  letter-spacing: .025em
}

.tracking-wider {
  letter-spacing: .05em
}

.tracking-widest {
  letter-spacing: .1em
}

.tracking-heading {
  letter-spacing: -.04em
}

.whitespace-nowrap {
  white-space: nowrap
}

a:empty,
ul:empty,
dl:empty,
div:empty,
section:empty,
article:empty,
p:empty,
h1:empty,
h2:empty,
h3:empty,
h4:empty,
h5:empty,
h6:empty {
  display: none;
}

/*! rte */

.rte p {
  margin-block: var(--sp-4);
  display: flex;
  justify-content: center;
  align-items: center;
}

.rte a {
  color: inherit !important;
  text-decoration: underline !important;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  .rte p {
    margin-block: var(--sp-5)
  }
}

@media screen and (min-width: 1280px) {
  .rte p {
    margin-block: var(--sp-4d5)
  }
}

.rte>:first-child {
  margin-block-start: 0
}

.rte>:last-child {
  margin-block-end: 0
}

.rte :is(.h0, .h1, h1) {
  margin-block-end: var(--sp-8d5);
  margin-block-start: 0
}

@media screen and (min-width: 1024px) {
  .rte :is(.h0, .h1, h1) {
    margin-block-end: var(--sp-10)
  }
}

@media screen and (min-width: 1280px) {
  .rte :is(.h0, .h1, h1) {
    margin-block-end: var(--sp-12)
  }
}

.rte :is(.h2, h2) {
  margin-block-end: var(--sp-6);
  margin-block-start: var(--sp-12)
}

@media screen and (min-width: 1280px) {
  .rte :is(.h2, h2) {
    margin-block-end: var(--sp-8d5);
    margin-block-start: var(--sp-14)
  }
}

.rte :is(.h3, h3) {
  margin-block-end: var(--sp-3);
  margin-block-start: var(--sp-8)
}

@media screen and (min-width: 1024px) {
  .rte :is(.h3, h3) {
    margin-block-end: var(--sp-4);
    margin-block-start: var(--sp-10)
  }
}

@media screen and (min-width: 1280px) {
  .rte :is(.h3, h3) {
    margin-block-end: var(--sp-5);
    margin-block-start: var(--sp-12)
  }
}

.rte :is(.h4, h4) {
  margin-block-end: var(--sp-3);
  margin-block-start: var(--sp-10)
}

@media screen and (min-width: 1024px) {
  .rte :is(.h4, h4) {
    margin-block-end: var(--sp-2d5);
    margin-block-start: var(--sp-10)
  }
}

@media screen and (min-width: 1280px) {
  .rte :is(.h4, h4) {
    margin-block-end: var(--sp-3d5);
    margin-block-start: var(--sp-10d5)
  }
}

.rte hr {
  margin-block: var(--sp-10)
}

@media screen and (min-width: 1024px) {
  .rte hr {
    margin-block: var(--sp-12)
  }
}

@media screen and (min-width: 1536px) {
  .rte hr {
    margin-block: var(--sp-14)
  }
}

.rte :is(h2+*, h3+*, h4+*, hr+*) {
  margin-block-start: 0
}

.rte :is(img, video) {
  margin-block: var(--sp-12)
}

.rte figure {
  margin-block: var(--sp-8)
}

@media screen and (min-width: 1024px) {
  .rte figure {
    margin-block: var(--sp-12)
  }
}

.rte figure>* {
  margin-block: 0
}

.rte figcaption {
  color: rgb(var(--color-foreground)/ 0.7);
  font-size: var(--text-sm);
  font-style: italic;
  line-height: 1.375;
  margin-block-start: var(--sp-4d5)
}

.rte figcaption a {
  color: rgb(var(--color-foreground))
}

.rte ul {
  list-style-type: disc
}

.rte ul ::marker {
  color: rgb(var(--color-foreground)/ 0.25)
}

.rte ul::marker {
  color: rgb(var(--color-foreground)/ 0.25)
}

.rte :is(ul, ol) {
  margin-block: var(--sp-5);
  padding-inline-start: var(--sp-7)
}

@media screen and (min-width: 1024px) {
  .rte :is(ul, ol) {
    margin-block: var(--sp-6);
    padding-inline-start: var(--sp-8)
  }
}

.rte li {
  margin-block-start: var(--sp-2)
}

@media screen and (min-width: 1024px) {
  .rte li {
    margin-block-start: var(--sp-2d5)
  }
}

@media screen and (min-width: 1536px) {
  .rte li {
    margin-block-start: var(--sp-3)
  }
}

.rte :is(ul>li, ol>li) {
  padding-inline-start: var(--sp-1d5)
}

@media screen and (min-width: 1024px) {
  .rte :is(ul>li, ol>li) {
    padding-inline-start: var(--sp-2)
  }
}

.rte :is(.rte>ul>li>:first-child, .rte>ol>li>:first-child) {
  margin-block-start: var(--sp-5d5)
}

.rte :is(.rte>ul>li>:last-child, .rte>ol>li>:last-child) {
  margin-block-end: var(--sp-5d5)
}

.rte :is(ul ul, ul ol, ol ul, ol ol) {
  margin-block: var(--sp-5)
}

@media screen and (min-width: 1024px) {
  .rte :is(ul ul, ul ol, ol ul, ol ol) {
    margin-block: var(--sp-4)
  }
}

.rte blockquote {
  display: block;
  margin-block: var(--sp-8);
  padding-block-start: var(--sp-20);
  text-align: center
}

@media screen and (min-width: 1024px) {
  .rte blockquote {
    margin-block: var(--sp-12);
  }
}

.rte blockquote::before {
  content: '';
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 54 54'%3E%3Cpath d='M41.625 47.25a12.375 12.375 0 1 0 0-24.75c-.357 0-.706.024-1.055.054a35.775 35.775 0 0 1 5.384-15.208A1.126 1.126 0 0 0 45 5.625h-2.25a1.125 1.125 0 0 0-.816.35c-5.785 6.086-12.684 16.04-12.684 28.9A12.39 12.39 0 0 0 41.625 47.25Zm-29.25 0a12.375 12.375 0 1 0 0-24.75c-.357 0-.707.024-1.055.054a35.775 35.775 0 0 1 5.384-15.208 1.126 1.126 0 0 0-.954-1.721H13.5a1.125 1.125 0 0 0-.816.35C6.9 12.06 0 22.015 0 34.875A12.39 12.39 0 0 0 12.375 47.25Z' fill='currentColor'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 54 54'%3E%3Cpath d='M41.625 47.25a12.375 12.375 0 1 0 0-24.75c-.357 0-.706.024-1.055.054a35.775 35.775 0 0 1 5.384-15.208A1.126 1.126 0 0 0 45 5.625h-2.25a1.125 1.125 0 0 0-.816.35c-5.785 6.086-12.684 16.04-12.684 28.9A12.39 12.39 0 0 0 41.625 47.25Zm-29.25 0a12.375 12.375 0 1 0 0-24.75c-.357 0-.707.024-1.055.054a35.775 35.775 0 0 1 5.384-15.208 1.126 1.126 0 0 0-.954-1.721H13.5a1.125 1.125 0 0 0-.816.35C6.9 12.06 0 22.015 0 34.875A12.39 12.39 0 0 0 12.375 47.25Z' fill='currentColor'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: var(--quote-icon-width) var(--quote-icon-height);
  mask-size: var(--quote-icon-width) var(--quote-icon-height);
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 50%;
  transform: translateX(calc(-50% * var(--transform-logical)));
  width: var(--quote-icon-width);
  height: var(--quote-icon-height);
  background-color: currentColor;
}

.rte blockquote>* {
  margin-block: 0;
}

.rte blockquote cite {
  display: block;
  text-transform: none;
  font-size: var(--text-base);
  font-weight: var(--font-medium);
  letter-spacing: 0;
  line-height: 1.6;
  margin-block-start: var(--sp-8d5)
}

@media screen and (min-width: 1280px) {
  .rte blockquote cite {
    font-size: var(--text-lg);
    line-height: 1.6
  }
}

.rte :is(iframe[src*="youtube"], iframe[src*="youtu.be"], iframe[src*="vimeo"]) {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
}

.page-width {
  margin: 0 auto;
  padding-inline: var(--page-padding);
}

@media screen and (min-width: 1536px) {
  .page-width--full {
    --page-padding: var(--sp-12);
    --page-container: calc(100vw - var(--scrollbar-width) - var(--page-padding) * 2);
  }
}

.spacing-section {
  min-height: var(--spacing-height-mobile);
}

@media screen and (min-width: 768px) {
  .spacing-section {
    min-height: var(--spacing-height-desktop);
  }
}

@media screen and (min-width: 1024px) {
  .page-width--narrow {
    --page-padding: var(--sp-12);
    max-width: 70rem;
  }
}

summary {
  list-style-type: none
}

.scroll-area {
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none
}

.scroll-area::-webkit-scrollbar {
  display: none
}

.icon {
  stroke-width: var(--icon-weight);
  width: var(--sp-5d5);
  height: var(--sp-5d5);
}

.icon-2xs {
  width: var(--sp-3);
  height: var(--sp-3);
}

.icon-xs {
  width: 20px;
  height: 20px;
}

.icon-sm {
  width: var(--sp-5);
  height: var(--sp-5);
}

.icon-lg {
  width: var(--sp-6);
  height: var(--sp-6);
}

.icon-xl {
  width: var(--sp-8);
  height: var(--sp-8);
}

.icon-custom {
  width: auto;
  height: auto;
}

.icon-light {
  stroke-width: calc(var(--icon-weight) - 0.3px);
}

.icon .fill {
  stroke: none;
  fill: rgb(var(--color-foreground)/ 0.1);
}

.icon-rotator .path {
  stroke-dasharray: 280;
  stroke-dashoffset: 0;
  transform-origin: center;
  animation: dash 1.4s infinite ease;
}

.stroke-1 {
  stroke-width: 1
}

.stroke-2 {
  stroke-width: 2
}

@keyframes dash {
  0% {
    stroke-dashoffset: 280
  }

  50% {
    stroke-dashoffset: 75;
    transform: rotate(135deg)
  }

  to {
    stroke-dashoffset: 280;
    transform: rotate(450deg)
  }
}

[role=main] .shopify-section {
  --section-is-first: 0;
  position: relative
}

[role=main] .shopify-section:not(.contents) {
  display: flow-root
}

[role=main] .shopify-section:empty {
  display: none
}

[role=main] .shopify-section:first-child {
  --section-is-first: 1
}

.js [role=main] .shopify-section:last-child {
  border-end-end-radius: var(--border-radius);
  border-end-start-radius: var(--border-radius);
  position: relative;
}

.js [role=main] .shopify-section:last-child .section::before {
  height: 100%;
}

.no-js .loading-bar {
  display: none;
}

.loading-bar {
  background-color: rgb(var(--color-foreground));
  z-index: 50
}

.loading-bar .icon {
  color: rgb(var(--color-background));
  inset-block-end: var(--gap-padding);
  inset-inline-end: var(--gap-padding);
}

@media (prefers-reduced-motion: reduce) {
  .loading-bar {
    display: none;
  }
}

.page-container {
  background-color: rgb(var(--color-background));
}

.skip-link:focus {
  clip: auto;
  width: auto;
  height: auto;
  margin: 0;
  color: rgb(var(--color-foreground));
  background-color: rgb(var(--color-background));
  padding: 10px;
  opacity: 1;
  z-index: 10000;
  transition: none;
}

*:focus {
  outline: 0;
  box-shadow: none;
}

*:focus-visible {
  outline: 2px solid rgb(var(--color-keyboard-focus));
  outline-offset: 3px;
}

sticky-element {
  --inset: 0px;
}

sticky-element.sticky {
  inset-block-start: var(--inset);
}

@media screen and (min-width: 768px) {
  sticky-element.md\:sticky {
    inset-block-start: var(--inset);
  }
}

@media screen and (min-width: 1024px) {
  sticky-element.lg\:sticky {
    inset-block-start: var(--inset);
  }
}

@media screen and (min-width: 1280px) {
  sticky-element.xl\:sticky {
    inset-block-start: var(--inset);
  }
}

/*! button */

.button,
.shopify-challenge__button,
button.shopify-payment-button__button--unbranded,
.shopify-payment-button [role=button],
.additional-checkout-buttons [role=button],
.additional-checkout-buttons iframe {
  --shadow-horizontal-offset: var(--buttons-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--buttons-shadow-vertical-offset);
  --shadow-opacity: var(--buttons-shadow-opacity);
  --border-opacity: var(--buttons-border-opacity);
}

.shopify-payment-button__button--branded {
  z-index: auto;
  font-family: var(--font-button-family);
  border-radius: var(--buttons-radius) !important;
  overflow: hidden !important;
}

.shopify-payment-button__more-options {
  margin-block-start: var(--sp-3) !important;
  font-size: var(--text-sm) !important;
  line-height: 1.25 !important;
}


.topbar-section {
  color: rgb(var(--color-foreground));
  background: var(--gradient-background);
  background-color: rgb(var(--color-background));
  height: var(--topbar-height);
  font-size: 12px;
  transition: height var(--animation-nav);
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99;
}

@media screen and (min-width: 1536px) {
  .topbar-section {
    font-size: 16px !important;
  }
}

.topbar {
  --topbar-grid-template: "announcement" /auto;
  grid-template: var(--topbar-grid-template);
  gap: min(1.5vw, 3.5rem);
}

.announcement-bar {
    height: 30px;
}

@media screen and (min-width: 1024px) {
  .topbar--only .announcement-bar {
    max-width: 100%;
  }
}

.topbar .social-icons {
  grid-area: socials
}

.topbar .announcement-bar {
  grid-area: announcement
}

.topbar .localization {
  gap: min(1.5vw, 3.5rem)
}

.topbar .localization {
  grid-area: localization
}

.topbar .localization__item+.localization__item .dropdown {
  inset-inline-end: 0;
  margin-inline-start: 0;
}

.topbar .dropdown {
  min-width: 140px;
  margin-inline-start: calc(var(--sp-8) * -1);
}

.topbar .dropdown__container {
  padding-block-start: var(--sp-5);
  padding-block-end: var(--sp-8);
}

.topbar .dropdown__nav li>p {
  padding-inline: var(--sp-7);
}

@media screen and (min-width: 1280px) {
  .topbar .dropdown {
    margin-inline-start: var(--sp-0d5);
  }
}

.social_platform .icon {
  fill: currentColor;
}

.localization .dropdown__nav {
  margin-inline-end: 5px;
  max-height: 250px;
  max-width: 280px;
  -webkit-overflow-scrolling: touch;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scroll-snap-type: y mandatory;
  scrollbar-width: none
}

.localization .dropdown__nav::-webkit-scrollbar {
  -webkit-appearance: none;
  background-clip: padding-box;
  background-color: transparent;
  border-radius: var(--rounded-full);
  width: 3px
}

.localization .dropdown__nav::-webkit-scrollbar-thumb {
  background-clip: padding-box;
  background-color: rgb(var(--color-foreground)/ 0.2);
  border-radius: var(--rounded-full)
}

.localization .dropdown__nav li>p {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.localization .dropdown__nav a.active {
  opacity: 0.4;
}

.localization .country-flag {
  width: var(--sp-5);
  height: var(--sp-5);
  box-shadow: 2px 2px 8px 0px rgb(var(--color-foreground)/ .15);
}

.announcement-bar :is(b, strong) {
  font-weight: var(--font-medium);
}

.announcement-bar .scrolling-text {
  --section-grid-gap: var(--sp-12);
}

.announcement-bar .marquee.with-dot .scrolling-text__item:first-child::before,
.announcement-bar .scrolling-text__item.with-text+.scrolling-text__item.with-text::before {
  width: 5px;
  height: 5px;
  background-color: currentColor;
}

@media screen and (min-width: 1024px) {
  .announcement-bar:only-child {
    overflow: visible;
  }

  .announcement-bar {
    width: 50rem;
    max-width: 100%;
    margin: 0 auto;
  }

  .announcement-bar.without-nav {
    max-width: unset;
  }

  .announcement-bar.without-nav :is(.flickity-slider, .announcement__slide) {
    transform: none !important;
  }

  .announcement-bar.without-nav .announcement__slide {
    width: 100%;
  }

  .announcement-bar.without-nav.lg\:justify-center .announcement__slide {
    justify-content: center;
  }

  .announcement-bar.without-nav.lg\:justify-end .announcement__slide {
    justify-content: flex-end;
  }
}

.announcement-bar .flickity-viewport {
  width: 100%;
  height: 100% !important;
}

.announcement-bar .fader {
  padding-inline: var(--sp-3d5);
}

.announcement-bar .fader.left {
  order: -1;
  margin-inline-start: calc(var(--sp-3d5) * -1)
}

.announcement-bar .fader.right {
  margin-inline-end: calc(var(--sp-3d5) * -1)
}

@media screen and (min-width: 1280px) {
  .announcement__slides.flickity {
    max-width: 28rem;
    min-width: 28rem
  }
}

.announcement-bar .slideshow-control:focus {
  width: auto;
  height: auto;
  inset-block-start: 50%;
  transform: translateY(-50%);
  inset-inline-start: auto;
  inset-inline-end: calc(-1 * var(--sp-4));
  border-radius: 0;
  background: none;
  color: rgb(var(--color-foreground));
}

.announcement-bar .slideshow-control .icon {
  width: var(--sp-3);
  height: var(--sp-3);
}

.no-js .announcement-bar .fader,
.no-js .announcement__slide {
  display: none;
}

.no-js .announcement__slide:first-child {
  display: flex;
}

.announcement__slides>.announcement__slide~.announcement__slide {
  display: none;
}

.announcement__content .announcement-text {
  margin-block: 0;
}

[loaded] .announcement__content {
  transition: var(--animation-smooth);
  transition-property: opacity, transform;
}

.announcement__slide[aria-hidden] .announcement__content {
  opacity: 0;
  transform: translateY(100%);
}

.no-js .announcement__content {
  transition: none;
}

@media (prefers-reduced-motion: reduce) {
  .flickity-enabled .announcement__content {
    transform: translateY(0);
  }

  [loaded] .announcement__content {
    transition: none;
  }
}

@media screen and (min-width: 1280px) {
  .localization__item .icon-language {
    width: var(--sp-4d5);
    height: var(--sp-4d5);
  }
}

.localization__item .icon-chevron-down {
  transform: scaleY(var(--tw-scale-y));
  transition: transform var(--animation-primary);
}

.localization__item[aria-expanded=true] .icon-chevron-down {
  --tw-scale-y: -1;
}

/*! drawer */

.modal-scrollbar-measure {
  display: block;
  position: absolute;
  inset-block-start: -100rem;
  width: 5rem;
  height: 5rem;
  overflow: scroll;
}

.has-modal-opening,
.has-modal-open {
  overflow: hidden;
  padding-inline-end: var(--scrollbar-width);
}

.touch .has-modal-open {
  touch-action: none
}

.drawer {
  --color-foreground: var(--color-drawer-text);
  --color-background: var(--color-drawer-background);
  --color-overlay: var(--color-drawer-overlay);
  --color-button-background: var(--color-drawer-button-background);
  --color-button-gradient: var(--color-drawer-button-gradient);
  --color-button-border: var(--color-drawer-button-background);
  --color-button-text: var(--color-drawer-button-text);
  --color-border: var(--color-foreground)/ 0.1;
  --color-border-dark: var(--color-foreground)/ 0.4;
  --color-border-light: var(--color-foreground)/ 0.06;
}

.drawer[hidden] {
  content-visibility: hidden;
}

.drawer .overlay {
  cursor: none;
  transition: .8s cubic-bezier(.7, 0, .2, 1);
  transition-property: opacity, visibility, background-color;
}

.drawer--start .overlay {
  background: linear-gradient(to var(--transform-origin-start), rgb(var(--color-overlay)/ 0.2) 20%, rgb(var(--color-overlay)/ 0.5) 60%)
}

.drawer--end .overlay {
  background: linear-gradient(to var(--transform-origin-end), rgb(var(--color-overlay)/ 0.2) 20%, rgb(var(--color-overlay)/ 0.5) 60%)
}

@media screen and (min-width: 1280px) {
  .drawer--start .overlay {
    background: linear-gradient(to var(--transform-origin-start), rgb(var(--color-overlay)/ 0.2) 40%, rgb(var(--color-overlay)/ 0.5) 80%)
  }

  .drawer--end .overlay {
    background: linear-gradient(to var(--transform-origin-end), rgb(var(--color-overlay)/ 0.2) 40%, rgb(var(--color-overlay)/ 0.5) 80%)
  }
}

.drawer__header {
  outline: none;
  border-block-end: 1px solid rgb(var(--color-border-light));
  padding: var(--sp-8) var(--sp-5) var(--sp-6);
  transition: var(--animation-primary) .1s;
  transition-property: opacity, visibility;
}

@media screen and (min-width: 1024px) {
  .drawer__header {
    padding-inline: var(--sp-12)
  }
}

@media screen and (min-width: 1536px) {
  .drawer__header {
    padding-block-end: var(--sp-8);
    padding-block-start: var(--sp-10)
  }
}

.drawer__close {
  height: var(--sp-12);
  width: var(--sp-12);
  flex: 0 0 auto;
  margin-inline-start: auto;
}

.drawer__close .icon+.icon {
  transition: var(--animation-fast);
  transition-property: opacity, visibility;

/*! drawer */

.modal-scrollbar-measure {
  display: block;
  position: absolute;
  inset-block-start: -100rem;
  width: 5rem;
  height: 5rem;
  overflow: scroll;
}

.has-modal-opening,
.has-modal-open {
  overflow: hidden;
  padding-inline-end: var(--scrollbar-width);
}

.touch .has-modal-open {
  touch-action: none
}

.drawer {
  --color-foreground: var(--color-drawer-text);
  --color-background: var(--color-drawer-background);
  --color-overlay: var(--color-drawer-overlay);
  --color-button-background: var(--color-drawer-button-background);
  --color-button-gradient: var(--color-drawer-button-gradient);
  --color-button-border: var(--color-drawer-button-background);
  --color-button-text: var(--color-drawer-button-text);
  --color-border: var(--color-foreground)/ 0.1;
  --color-border-dark: var(--color-foreground)/ 0.4;
  --color-border-light: var(--color-foreground)/ 0.06;
}

.drawer[hidden] {
  content-visibility: hidden;
}

.drawer .overlay {
  cursor: none;
  transition: .8s cubic-bezier(.7, 0, .2, 1);
  transition-property: opacity, visibility, background-color;
}

.drawer--start .overlay {
  background: linear-gradient(to var(--transform-origin-start), rgb(var(--color-overlay)/ 0.2) 20%, rgb(var(--color-overlay)/ 0.5) 60%)
}

.drawer--end .overlay {
  background: linear-gradient(to var(--transform-origin-end), rgb(var(--color-overlay)/ 0.2) 20%, rgb(var(--color-overlay)/ 0.5) 60%)
}

@media screen and (min-width: 1280px) {
  .drawer--start .overlay {
    background: linear-gradient(to var(--transform-origin-start), rgb(var(--color-overlay)/ 0.2) 40%, rgb(var(--color-overlay)/ 0.5) 80%)
  }

  .drawer--end .overlay {
    background: linear-gradient(to var(--transform-origin-end), rgb(var(--color-overlay)/ 0.2) 40%, rgb(var(--color-overlay)/ 0.5) 80%)
  }
}

.drawer__header {
  outline: none;
  border-block-end: 1px solid rgb(var(--color-border-light));
  padding: var(--sp-8) var(--sp-5) var(--sp-6);
  transition: var(--animation-primary) .1s;
  transition-property: opacity, visibility;
}

@media screen and (min-width: 1024px) {
  .drawer__header {
    padding-inline: var(--sp-12)
  }
}

@media screen and (min-width: 1536px) {
  .drawer__header {
    padding-block-end: var(--sp-8);
    padding-block-start: var(--sp-10)
  }
}

.drawer__close {
  height: var(--sp-12);
  width: var(--sp-12);
  flex: 0 0 auto;
  margin-inline-start: auto;
}

.drawer__close .icon+.icon {
  transition: var(--animation-fast);
  transition-property: opacity, visibility;

/*! drawer */

.modal-scrollbar-measure {
  display: block;
  position: absolute;
  inset-block-start: -100rem;
  width: 5rem;
  height: 5rem;
  overflow: scroll;
}

.has-modal-opening,
.has-modal-open {
  overflow: hidden;
  padding-inline-end: var(--scrollbar-width);
}

.touch .has-modal-open {
  touch-action: none
}

.drawer {
  --color-foreground: var(--color-drawer-text);
  --color-background: var(--color-drawer-background);
  --color-overlay: var(--color-drawer-overlay);
  --color-button-background: var(--color-drawer-button-background);
  --color-button-gradient: var(--color-drawer-button-gradient);
  --color-button-border: var(--color-drawer-button-background);
  --color-button-text: var(--color-drawer-button-text);
  --color-border: var(--color-foreground)/ 0.1;
  --color-border-dark: var(--color-foreground)/ 0.4;
  --color-border-light: var(--color-foreground)/ 0.06;
}

.drawer[hidden] {
  content-visibility: hidden;
}

.drawer .overlay {
  cursor: none;
  transition: .8s cubic-bezier(.7, 0, .2, 1);
  transition-property: opacity, visibility, background-color;
}

.drawer--start .overlay {
  background: linear-gradient(to var(--transform-origin-start), rgb(var(--color-overlay)/ 0.2) 20%, rgb(var(--color-overlay)/ 0.5) 60%)
}

.drawer--end .overlay {
  background: linear-gradient(to var(--transform-origin-end), rgb(var(--color-overlay)/ 0.2) 20%, rgb(var(--color-overlay)/ 0.5) 60%)
}

@media screen and (min-width: 1280px) {
  .drawer--start .overlay {
    background: linear-gradient(to var(--transform-origin-start), rgb(var(--color-overlay)/ 0.2) 40%, rgb(var(--color-overlay)/ 0.5) 80%)
  }

  .drawer--end .overlay {
    background: linear-gradient(to var(--transform-origin-end), rgb(var(--color-overlay)/ 0.2) 40%, rgb(var(--color-overlay)/ 0.5) 80%)
  }
}

.drawer__header {
  outline: none;
  border-block-end: 1px solid rgb(var(--color-border-light));
  padding: var(--sp-8) var(--sp-5) var(--sp-6);
  transition: var(--animation-primary) .1s;
  transition-property: opacity, visibility;
}

@media screen and (min-width: 1024px) {
  .drawer__header {
    padding-inline: var(--sp-12)
  }
}

@media screen and (min-width: 1536px) {
  .drawer__header {
    padding-block-end: var(--sp-8);
    padding-block-start: var(--sp-10)
  }
}

.drawer__close {
  height: var(--sp-12);
  width: var(--sp-12);
  flex: 0 0 auto;
  margin-inline-start: auto;
}

.drawer__close .icon+.icon {
  transition: var(--animation-fast);
  transition-property: opacity, visibility;

/*! drawer */

.modal-scrollbar-measure {
  display: block;
  position: absolute;
  inset-block-start: -100rem;
  width: 5rem;
  height: 5rem;
  overflow: scroll;
}

.has-modal-opening,
.has-modal-open {
  overflow: hidden;
  padding-inline-end: var(--scrollbar-width);
}

.touch .has-modal-open {
  touch-action: none
}

.drawer {
  --color-foreground: var(--color-drawer-text);
  --color-background: var(--color-drawer-background);
  --color-overlay: var(--color-drawer-overlay);
  --color-button-background: var(--color-drawer-button-background);
  --color-button-gradient: var(--color-drawer-button-gradient);
  --color-button-border: var(--color-drawer-button-background);
  --color-button-text: var(--color-drawer-button-text);
  --color-border: var(--color-foreground)/ 0.1;
  --color-border-dark: var(--color-foreground)/ 0.4;
  --color-border-light: var(--color-foreground)/ 0.06;
}

.drawer[hidden] {
  content-visibility: hidden;
}

.drawer .overlay {
  cursor: none;
  transition: .8s cubic-bezier(.7, 0, .2, 1);
  transition-property: opacity, visibility, background-color;
}

.drawer--start .overlay {
  background: linear-gradient(to var(--transform-origin-start), rgb(var(--color-overlay)/ 0.2) 20%, rgb(var(--color-overlay)/ 0.5) 60%)
}

.drawer--end .overlay {
  background: linear-gradient(to var(--transform-origin-end), rgb(var(--color-overlay)/ 0.2) 20%, rgb(var(--color-overlay)/ 0.5) 60%)
}

@media screen and (min-width: 1280px) {
  .drawer--start .overlay {
    background: linear-gradient(to var(--transform-origin-start), rgb(var(--color-overlay)/ 0.2) 40%, rgb(var(--color-overlay)/ 0.5) 80%)
  }

  .drawer--end .overlay {
    background: linear-gradient(to var(--transform-origin-end), rgb(var(--color-overlay)/ 0.2) 40%, rgb(var(--color-overlay)/ 0.5) 80%)
  }
}

.drawer__header {
  outline: none;
  border-block-end: 1px solid rgb(var(--color-border-light));
  padding: var(--sp-8) var(--sp-5) var(--sp-6);
  transition: var(--animation-primary) .1s;
  transition-property: opacity, visibility;
}

@media screen and (min-width: 1024px) {
  .drawer__header {
    padding-inline: var(--sp-12)
  }
}

@media screen and (min-width: 1536px) {
  .drawer__header {
    padding-block-end: var(--sp-8);
    padding-block-start: var(--sp-10)
  }
}

.drawer__close {
  height: var(--sp-12);
  width: var(--sp-12);
  flex: 0 0 auto;
  margin-inline-start: auto;
}

.drawer__close .icon+.icon {
  transition: var(--animation-fast);
  transition-property: opacity, visibility;
}

.drawer.loading .drawer__close {
  --border-opacity: 0;
}

.drawer.loading .drawer__close .icon:first-child {
  opacity: 0;
}

.drawer.loading .drawer__close .icon+.icon {
  opacity: 1;
  visibility: visible;
  transition-delay: 0.1s;
}

.drawer__content {
  overflow-x: hidden;
  overflow-y: auto;
  transition: var(--animation-primary) .1s;
  transition-property: opacity, visibility;
}

.drawer__inner {
  max-width: 36rem;
  color: rgb(var(--color-foreground));
  background-color: rgb(var(--color-background));
  transform: translateX(calc(var(--tw-translate-x) * var(--transform-logical)));
}

.drawer--start .drawer__inner {
  --tw-translate-x: -100%;
  inset-inline-start: 0;
}

[data-rounded-block=round] .drawer--start .drawer__inner {
  border-end-end-radius: var(--sp-8d5);
  border-start-end-radius: var(--sp-8d5);
}

.drawer--end .drawer__inner {
  --tw-translate-x: 100%;
  inset-inline-end: 0;
}

[data-rounded-block=round] .drawer--end .drawer__inner {
  border-end-start-radius: var(--sp-8d5);
  border-start-start-radius: var(--sp-8d5);
}

.loaded .drawer__inner {
  transition: transform .6s cubic-bezier(.7, 0, .2, 1)
}

.drawer[open] {
  pointer-events: auto
}

.drawer[active]>.drawer__inner {
  --tw-translate-x: 0;
}

.drawer[active]>.drawer__inner>:is(.drawer__content, .drawer__header) {
  opacity: 1;
  visibility: visible;
  transition: var(--animation-primary) .35s;
  transition-property: opacity, visibility;
}

.drawer[active]>.overlay {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.loaded .drawer[open=immediate]>.drawer__inner,
.drawer[open=immediate]>.overlay,
.drawer[open=immediate]>.drawer__inner>:is(.drawer__content, .drawer__header) {
  transition: none;
  opacity: 1;
  visibility: visible;
  transform: none;
}

@media screen and (max-width: 639px) {
  .js .drawer .overlay {
    background: none
  }

  .js .drawer__header::before {
    --tw-translate-x: -50%;
    content: '';
    background-color: rgb(var(--color-border));
    border-radius: var(--rounded-full);
    height: var(--sp-1);
    width: var(--sp-12);
    position: absolute;
    inset-block-start: var(--sp-2d5);
    inset-inline-start: 50%;
    transform: translateX(calc(var(--tw-translate-x) * var(--transform-logical)));
  }

  .js .drawer__close {
    --buttons-border-width: 0;
    position: absolute;
    inset-block-start: var(--sp-1);
    inset-inline-end: var(--sp-1);
    backdrop-filter: none;
  }

  .js [data-modal-swipe-only] .drawer__close {
    opacity: 0;
    pointer-events: none;
  }

  .js .drawer__close:focus-visible {
    opacity: 1;
    pointer-events: visible;
  }

  .js .drawer .drawer__inner {
    border-end-end-radius: 0;
    border-end-start-radius: 0;
    border-start-end-radius: var(--sp-5);
    border-start-start-radius: var(--sp-5);
    height: 100%;
    width: 100%;
    max-height: calc(100% - 60px);
    max-width: none;
    inset-block-start: auto;
    inset-block-end: 0;
    transform: translate3d(0, 100%, 0);
  }

  .js .drawer[active]>.drawer__inner {
    transform: translateZ(0)
  }

  .js .drawer[active]>.overlay {
    background: none;
    background-color: rgb(var(--color-overlay)/ 0.7);
    transform: translateZ(0)
  }

  .drawer[active]>.drawer__inner>:is(.drawer__content, .drawer__header) {
    transition-delay: 0s;
  }
}

@media (prefers-reduced-motion: reduce) {
  .loaded .drawer__inner {
    transition: opacity var(--animation-primary);
  }

  .drawer .overlay {
    transition: var(--animation-primary);
    transition-property: opacity, visibility;
  }

  .drawer__inner {
    opacity: 0;
  }

  :is(.drawer--start, .drawer--end) .drawer__inner {
    transform: translateZ(0)
  }

  .drawer[active]>.drawer__inner {
    opacity: 1;
  }

  .drawer[active]>.drawer__inner>:is(.drawer__content, .drawer__header) {
    transition-delay: 0s;
  }
}

/*! modal */

.x-modal .overlay {
  background: rgb(var(--color-overlay)/ 0.7);
}

.x-modal .drawer__scrollable>* {
  padding-block-end: var(--sp-9)
}

.x-modal .drawer__scrollable>:last-child {
  padding-block-end: 0
}

@media screen and (min-width: 640px) {
  .x-modal:not([hidden]) {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .x-modal .drawer__header {
    border-block-end: 0;
    padding-block-end: 0;
  }

  .x-modal .drawer__inner {
    position: static;
    height: auto;
    max-height: 90vh;
    max-width: 60rem;
    margin-inline: var(--gap-padding);
    transform: scale(0.8);
    opacity: 0;
    border-radius: var(--rounded-block);
  }

  .x-modal[active]>.drawer__inner {
    opacity: 1;
    transform: scale(1);
  }

  .loaded .x-modal .drawer__inner {
    transition-property: transform, opacity;
  }
}

@media (prefers-reduced-motion: reduce) {
  .x-modal .drawer__inner {
    transform: scale(1);
  }
}

.x-modal table {
  width: 100%;
  table-layout: fixed;
}

/*! search-drawer */

.search-drawer .drawer__scrollable {
  padding-block-end: 0;
}

.search-drawer .drawer__scrollable .drawer__sticky {
  padding-block-start: 0;
}

.search__recommendation {
  padding-block-end: var(--sp-8);
}

.search__form[results] .search__recommendation {
  display: none;
}

.search__form[results] .search__results {
  display: flex;
}

.search__results {
  display: none;
}

.search__results mark {
  background-color: transparent;
  color: rgb(var(--color-foreground)/ 0.4);
}

.search__field {
  --input-height: var(--sp-15);
  --input-padding-inline: var(--sp-5);
}

@media screen and (min-width: 1024px) {
  .search__field {
    --input-padding-inline: var(--sp-7);
  }
}

.search__field .input {
  font-size: var(--text-base);
  line-height: 1;
  font-weight: var(--font-medium);
}

@media screen and (min-width: 768px) {
  .search__field .input {
    font-size: var(--text-lg);
  }
}

@supports (-webkit-overflow-scrolling: touch) {
  .search__field .input:focus {
    font-size: max(var(--text-base), 16px);
  }

  @media screen and (min-width: 768px) {
    .search__field .input:focus {
      font-size: max(var(--text-lg), 16px);
    }
  }
}

.search__field .input::-webkit-search-cancel-button,
.search__field .input::-webkit-search-decoration {
  display: none;
}

.search__field .clear {
  inset-inline-end: var(--input-padding-inline);
  transition: opacity .2s;
}

.search__field .input:not(:placeholder-shown)~.clear {
  opacity: 1;
}

.search__field .input:not(:-moz-placeholder-shown)~.clear {
  opacity: 1
}

.search__field .clear span,
.search__field .clear .icon {
  transition: var(--animation-fast);
  transition-property: opacity, visibility;
}

.search__form[loading] .search__field .clear span {
  opacity: 0;
}

.search__form[loading] .search__field .clear .icon {
  opacity: 1;
  visibility: visible;
  transition-delay: 0.1s;
}

.js .search__field .typed:not([hidden])~* {
  opacity: 0;
}

.search__field .typed {
  cursor: text;
  padding-inline-start: var(--input-padding-inline);
  color: rgb(var(--color-foreground));
  background-color: rgb(var(--color-foreground)/ 0.025);
  border: var(--inputs-border-width) solid rgb(var(--color-foreground)/ var(--border-opacity));
  border-radius: var(--inputs-radius);
  transition: var(--animation-primary);
  transition-property: border-color, background-color;
}

.search__field .typed .blink {
  animation: blink 0.7s infinite;
}

@keyframes blink {

  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}

@media screen and (pointer: fine) {
  .search__field:hover .input,
  .search__field:hover .typed {
    box-shadow: none;
    border-color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-foreground)/ 0.045);
    outline: none;
  }
}

.search__heading {
  padding-block-end: var(--sp-2);
  color: rgb(var(--color-foreground)/ 0.5);
  border-block-end: 1px solid rgb(var(--color-border-light));
}

.search-drawer .horizontal-product {
  padding-block-end: var(--sp-4d5);
}

.search-drawer .horizontal-product+.horizontal-product {
  padding-block-start: 0;
  border-block-start: 0;
}

.no-js .search__field .typed {
  display: none;
}

/*! cart-drawer */

.cart-drawer .modal .close {
  width: var(--sp-12);
  height: var(--sp-12);
}

@media screen and (min-width: 640px) {
  .cart-drawer .modal .close {
    position: static;
    width: auto;
    height: auto;
  }
}

.drawer__empty {
  max-width: var(--sp-72)
}

.search__empty {
  padding-block: var(--sp-8);
}

@media screen and (min-width: 1024px) {
  .drawer__empty {
    margin-block: auto;
  }

  .search__empty .drawer__empty {
    transform: translateY(calc(var(--sp-8) * -1));
  }
}

.drawer__empty-text {
  font-size: clamp(var(--sp-5), 1.4063rem + .5vw, var(--sp-8));
}

.drawer__empty-collections a {
  padding: var(--sp-3) var(--sp-5);
  background-color: rgb(var(--color-foreground)/ 0.025);
  transition: background-color var(--animation-primary)
}

[data-rounded-block=round] .drawer__empty-collections a {
  border-radius: var(--sp-3);
}

@media screen and (pointer: fine) {
  .drawer__empty-collections .icon {
    transition: transform var(--animation-primary)
  }

  .drawer__empty-collections a:hover {
    background-color: rgb(var(--color-foreground)/ 0.045);
  }

  .drawer__empty-collections a:hover .icon {
    --tw-translate-x: calc(var(--sp-1) * var(--transform-logical));
  }
}

.drawer__empty-collections img {
  max-width: var(--sp-8d5);
}

.drawer__empty .icon-xxxl {
  width: var(--sp-12);
  height: var(--sp-12);
}

.drawer__tabs {
  transition: all var(--animation-primary);
  transition-delay: .1s
}

.drawer__tab {
  line-height: 1.6;
  opacity: .2;
  transition: opacity var(--animation-primary)
}

.drawer__tab .count {
  inset-block-start: calc(var(--sp-0d5) * -1);
  inset-inline-start: calc(100% + var(--sp-1));
}

@media screen and (pointer: fine) {
  .drawer__tab:hover {
    opacity: 1
  }
}

.drawer__tab[aria-expanded=true] {
  opacity: 1;
  pointer-events: none
}

.drawer__panel {
  height: 0;
}

.drawer__panel:not([open])>*:last-child {
  display: none;
}

.drawer__panel[open] {
  flex: 1;
  height: 100%;
  opacity: 1;
  transition: opacity var(--animation-primary)
}

.drawer__scrollable {
  overflow-x: hidden;
  overflow-y: auto;
  padding: var(--sp-6) var(--sp-5)
}

@media screen and (min-width: 1024px) {
  .drawer__scrollable {
    padding: var(--sp-8) var(--sp-12)
  }
}

@media screen and (min-width: 1536px) {
  .drawer__scrollable {
    padding-block: var(--sp-11);
  }
}

.drawer__scrollable {
  scroll-behavior: smooth;
  scroll-snap-type: y mandatory;
  scrollbar-color: auto;
  scrollbar-width: thin
}

.drawer__scrollable::-webkit-scrollbar {
  -webkit-appearance: none;
  background-clip: padding-box;
  background-color: transparent;
  border-radius: var(--rounded-full);
  width: var(--sp-1d5)
}

.drawer__scrollable::-webkit-scrollbar-thumb {
  background-clip: padding-box;
  background-color: rgb(var(--color-foreground)/ 0.2);
  border-radius: var(--rounded-full)
}

.drawer__scrollable .item {
  background-color: rgb(229 229 229);
  height: 100px;
  margin-block-end: var(--sp-3);
  width: 100%
}

.drawer__scrollable .drawer__sticky {
  margin-block-start: auto;
  padding-block: var(--sp-6);
}

.drawer__footer {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.drawer__footer-top {
  border-block-start: 1px solid rgb(var(--color-border-light));
  padding-block: var(--sp-3);
}

@media screen and (min-width: 768px) {
  .drawer__footer-top {
    padding-block: var(--sp-4);
  }
}

.drawer__footer-top>button+button {
  border-inline-start: 1px solid rgb(var(--color-border-light));
}

.cart-discount__count {
  width: var(--sp-6);
  height: var(--sp-6);
  color: rgb(var(--color-background));
  background-color: rgb(var(--color-foreground));
}

.cart-discount .active-facets {
  margin-block: 0;
}

.cart-discount .removable-facet {
  background-color: var(--badge-background);
  color: var(--badge-foreground);
  padding: var(--sp-1d5) var(--sp-2d5);
}

.cart-discount .facet-title {
  overflow: hidden;
  max-width: 100px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.drawer__footer-bottom {
  background-color: rgb(var(--color-foreground)/ 0.025);
  padding: clamp(var(--sp-6), 2.315vw, var(--sp-12)) var(--sp-5)
}

@media screen and (min-width: 1024px) {
  .drawer__footer-bottom {
    padding-inline: var(--sp-12);
  }
}

.drawer__footer-bottom :is(.tax-note, .totals__subtotal) {
  line-height: 1.375
}

.drawer__footer-bottom .discounts {
  padding-block-end: var(--sp-4);
  border-block-end: 1px solid rgb(var(--color-border-light));
}

.drawer .modal {
  transition: all .3s ease;
  z-index: 3
}

.drawer .modal .fixed-modal {
  background: linear-gradient(to bottom, rgb(var(--color-drawer-overlay)/ 0.1) 30%, rgb(var(--color-drawer-overlay)/ 0.3) 80%);
  cursor: none;
  transition: opacity .6s cubic-bezier(.7, 0, .2, 1);
}

.drawer .modal__container {
  --tw-translate-y: 100%;
  background-color: rgb(var(--color-background));
  transform: translateY(var(--tw-translate-y));
  transition: transform .6s cubic-bezier(.7, 0, .2, 1);
  max-height: calc(100% - 60px);
}

[data-rounded-block=round] .drawer .modal__container {
  border-start-start-radius: var(--sp-8d5);
}

.drawer .modal__header {
  padding: var(--sp-8) var(--sp-5) var(--sp-2);
}

@media screen and (min-width: 1024px) {
  .drawer .modal__header {
    padding: var(--sp-8) var(--sp-12) var(--sp-3)
  }
}

.drawer .modal__content {
  padding: var(--sp-2) var(--sp-5) var(--sp-6)
}

@media screen and (min-width: 1024px) {
  .drawer .modal__content {
    padding: var(--sp-3) var(--sp-12) var(--sp-10)
  }
}

.drawer .modal[active] {
  transition-delay: 0s;
  visibility: visible
}

.drawer .modal[active] .fixed-modal {
  opacity: 1
}

.drawer .modal[active] .modal__container {
  --tw-translate-y: 0;
}

.horizontal-product:last-child {
  padding-block-end: 0
}

.horizontal-product {
  --cart-item-media-width: var(--sp-20);
  padding-block-end: var(--sp-4)
}

.horizontal-product+.horizontal-product {
  padding-block-start: var(--sp-4);
  border-block-start: 1px solid rgb(var(--color-border-light));
}

@media screen and (min-width: 768px) {
  .horizontal-product {
    padding-block-end: var(--sp-6)
  }

  .horizontal-product+.horizontal-product {
    padding-block-start: var(--sp-6)
  }
}

@media screen and (min-width: 768px) {
  .horizontal-product {
    --cart-item-media-width: var(--sp-24)
  }
}

.horizontal-product__skeleton {
  width: 60%;
  height: var(--sp-3);
  background-color: rgb(var(--color-placeholder));
}

[data-rounded-block=round] .horizontal-product__skeleton {
  border-radius: var(--rounded-full);
}

.horizontal-product__skeleton:last-child:not(:first-child) {
  width: 25%;
}

@media screen and (min-width: 768px) {
  .horizontal-product__skeleton {
    width: 100%;
    height: var(--sp-4);
  }

  .horizontal-product__skeleton:last-child:not(:first-child) {
    width: 40%;
  }
}

.horizontal-product__media {
  width: var(--cart-item-media-width);
}

[data-rounded-block=round] .horizontal-product__media {
  border-radius: var(--sp-2);
}

.horizontal-product__media img {
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@media screen and (pointer: fine) {
  .horizontal-product__media:hover img {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
  }
}

.horizontal-product__details>.grid:last-child {
  margin-block-start: auto;
}

.horizontal-product__details :is(.price__sale, .price__regular) {
  font-size: inherit;
}

.horizontal-product__details .discounts .badge {
  padding: var(--sp-2) var(--sp-3d5);
  font-size: var(--text-xs);
}

.horizontal-product__quantity {
  padding-block: var(--sp-1);
  margin-inline-start: auto
}

.horizontal-product__quantity .loader:not([hidden])~.link {
  visibility: hidden;
}

.horizontal-product__quantity .cart-quantity__info .hotspot__content {
  inset-inline-end: calc(calc(var(--sp-3) + var(--sp-14)) * -1);
}

@media screen and (min-width: 1024px) {
  .horizontal-product__quantity .cart-quantity__info .hotspot__content {
    inset-inline-end: calc(calc(var(--sp-3) + var(--sp-18)) * -1);
  }
}

.cart-quantity__info .hotspot {
  width: auto;
  height: auto;
  margin: 0;
}

.cart-quantity__info .hotspot::before,
.cart-quantity__info .hotspot::after {
  content: none;
}

.cart-quantity__info .hotspot__content {
  min-width: var(--sp-96);
  padding: var(--sp-5) var(--sp-6);
  inset-block-start: calc(100% + var(--sp-5));
  background-color: rgb(var(--color-background));
  box-shadow: 1px 1px 2px -1px rgb(var(--color-foreground) / 0.15);
}

.cart-quantity__info .hotspot__content::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: var(--sp-2d5);
  background-color: rgb(var(--color-foreground) / 0.025);
}

.cart-quantity__info .hotspot__content::after {
  content: '';
  position: absolute;
  inset-block-end: 100%;
  inset-inline-start: 0;
  width: 100%;
  height: var(--sp-5);
}

@media screen and (pointer: fine) {
  .cart-quantity__info .hotspot:hover .hotspot__content {
    pointer-events: visible;
  }
}

.cart-quantity__info .hotspot__content .volume-pricing {
  padding: 0;
  background-color: transparent;
}

.cart-quantity__info .hotspot__content .quantity__rules~.volume-pricing .caption-large {
  display: none;
}

.cart-quantity__info input:is([type=checkbox], [type=radio]):not(.switch) {
  width: var(--sp-4);
  height: var(--sp-4);
}

.cart-quantity__info input[type=checkbox]:not(.switch)::after {
  inset-inline-start: 5px;
  inset-block-start: 2px;
}

.cart-quantity__info label:has(> input:is([type=radio]):checked) {
  color: rgb(var(--color-foreground));
}

.cart-quantity__info input[type=checkbox].switch {
  width: 36px;
  height: 18px;
}

.cart-quantity__info input[type=checkbox].switch::after {
  width: 12px;
  height: 12px;
  inset-inline-start: 3px;
  inset-block-start: 2px;
}

.cart-quantity {
  height: var(--sp-10);
  width: var(--sp-14)
}

@media screen and (min-width: 768px) {
  .cart-quantity {
    height: var(--sp-12);
  }
}

@media screen and (min-width: 1024px) {
  .cart-quantity {
    width: var(--sp-18)
  }
}

.cart-quantity .quantity__input {
  appearance: none;
  font-size: inherit;
  text-align: center;
  height: 100%;
  width: 100%;
  padding-inline: var(--sp-1)
}

[data-rounded-block=round] .cart-quantity .quantity__input {
  border-radius: var(--sp-2);
}

@media screen and (min-width: 1024px) {
  .cart-quantity .quantity__input {
    padding-inline-end: var(--sp-3)
  }
}

@supports (-webkit-overflow-scrolling: touch) {
  .cart-quantity .quantity__input:focus {
    font-size: max(var(--text-sm), 16px);
  }
}

.cart-quantity .quantity__buttons {
  width: var(--sp-6)
}

.cart-quantity .quantity__button {
  height: var(--sp-6);
  padding-inline-end: var(--sp-3);
}

.cart-quantity .quantity__button[name=plus] {
  padding-block-end: var(--sp-1)
}

.cart-quantity .quantity__button[name=minus] {
  padding-block-start: var(--sp-1)
}

.cart-quantity .quantity__button .icon {
  width: var(--sp-2);
  height: var(--sp-2);
}

.horizontal-product__quantity .cart-quantity+div {
  margin-block-start: auto;
}

/*! gift-wrapping */

.cart-drawer .gift-wrapping {
  padding: var(--sp-5);
  border: 1px solid rgb(var(--color-border-light));
}

[data-rounded-block=round] .cart-drawer .gift-wrapping {
  border-radius: var(--border-radius-small);
}

.gift-wrapping .loader:not([hidden])~input {
  visibility: hidden;
}

.cart__gift {
  background-color: rgb(var(--color-foreground) / 0.025);
  border-radius: var(--rounded-block);
  padding: var(--sp-6);
}

@media screen and (min-width: 768px) {
  .cart__gift {
    padding: var(--sp-10);
  }
}

.cart__gift :is(.cart__items, .horizontal-products) {
  background-color: rgb(var(--color-background));
  border-radius: var(--rounded-block);
  padding: var(--sp-4);
}

@media screen and (min-width: 1280px) {
  .cart__gift .cart__items {
    padding-inline-end: var(--sp-8);
  }
}

.cart-drawer .cart__gift {
  border-radius: 0;
  padding-inline: var(--sp-5);
  margin-inline: calc(var(--sp-5) * -1);
}

@media screen and (min-width: 1024px) {
  .cart-drawer .cart__gift {
    padding-inline: var(--sp-12);
    margin-inline: calc(var(--sp-12) * -1);
  }
}

/*! free-shipping-bar */

[data-rounded-block=square] .free-shipping-bar progress-bar {
  border-radius: 0;
}

.free-shipping-bar progress-bar {
  height: var(--sp-1d5);
  background-color: rgb(var(--color-border-light));
}

.free-shipping-bar progress-bar::before {
  --tw-scale-x: 0;
  content: '';
  background-color: currentColor;
  border-radius: inherit;
  display: block;
  height: inherit;
  transform: scaleX(var(--tw-scale-x));
  transform-origin: var(--transform-origin-start);
  transition: transform var(--animation-smooth) .1s;
}

.cart-drawer[active] .free-shipping-bar progress-bar::before {
  --tw-scale-x: var(--progress);
}

@media screen and (max-width: 639px) {
  .js .cart-drawer .drawer__header {
    border-start-start-radius: var(--sp-6)
  }

  .js .cart-drawer .drawer__scrollable {
    height: auto
  }

  .js .cart-drawer .modal .fixed-modal {
    background: none;
    background-color: rgb(var(--color-overlay)/ 0.35)
  }

  .js .cart-drawer .modal__container {
    border-start-end-radius: var(--sp-6);
    border-start-start-radius: var(--sp-6)
  }
}

/*! product-complementary */

.no-js .complementary-products {
  display: none;
}

.recommend__title {
  border-block-end: 1px solid rgb(var(--color-border-light));
  padding-block-end: var(--sp-1d5)
}

.complementary-products .horizontal-products {
  margin-inline: calc(var(--page-padding) * -1);
}

.complementary-products .horizontal-products:empty {
  display: block;
  margin-inline: 0;
}

.complementary-products .horizontal-products:empty::before {
  content: '';
  display: block;
  width: 100%;
  height: var(--sp-20);
  background-image: linear-gradient(100deg, rgb(var(--color-foreground)/ 0.045) 40%, rgb(var(--color-foreground)/ 0.115) 63%, rgb(var(--color-foreground)/ 0.045) 79%);
  animation: placeholder-shimmer 1.3s linear infinite;
  background-size: 400% 100%;
  border-radius: var(--sp-2);
}

[data-rounded-block=round] .horizontal-products:empty::before {
  border-radius: var(--sp-2);
}

@keyframes placeholder-shimmer {
  0% {
    background-position: -150% 0;
  }

  to {
    background-position: 150% 0;
  }
}

.complementary-products .horizontal-products>.horizontal-product {
  display: none;
}

.complementary-products .horizontal-products>.horizontal-product:first-child {
  display: flex;
}

.complementary-products .horizontal-products.flickity .horizontal-product {
  margin-inline-end: var(--sp-10);
}

.complementary-products .horizontal-products .horizontal-product {
  padding-inline: var(--page-padding);
  padding-block: 0;
  border-block-start: 0;
}

.cart__recent:empty {
  position: relative;
  display: block;
}

.cart__recent:empty::before,
.cart__recent:empty::after {
  content: '';
  display: block;
  position: absolute;
  inset-block-start: var(--sp-6);
  inset-inline-start: 50%;
  margin-block-start: -1.5px;
  margin-inline-start: max(-30px, -20%);
  width: min(60px, 40%);
  height: 3px;
  background-color: rgb(var(--color-foreground));
}

.cart__recent:empty::before {
  background-color: rgb(var(--color-border));
}

.cart__recent:empty::after {
  animation: preloading 1.2s infinite ease;
}

@media screen and (min-width: 1024px) {
  .complementary-products .horizontal-products {
    margin-inline: 0;
  }

  .complementary-products .horizontal-products .horizontal-product {
    padding-inline: 0;
  }

  .cart__recent:empty::before,
  .cart__recent:empty::after {
    inset-block-start: 50%;
  }
}

.cart__recent[hidden] {
  display: none;
}

/*! menu-drawer */

.menu-drawer summary::-webkit-details-marker {
  display: none;
}

.modal[open] .listbox li {
  --tw-translate-x: 0;
  opacity: 1;
}

.modal .listbox li {
  --tw-translate-x: calc(var(--sp-3) * -1);
  transform: translateX(calc(var(--tw-translate-x) * var(--transform-logical)));
  transition: transform .6s cubic-bezier(.075, .82, .165, 1), opacity .6s cubic-bezier(.19, 1, .22, 1);
  transition-delay: .5s;
}

.modal .listbox li:first-child {
  transition-delay: .3s
}

.modal .listbox li:nth-child(2) {
  transition-delay: .4s
}

.modal .listbox li:nth-child(3) {
  transition-delay: .5s
}

.modal .listbox li:nth-child(4) {
  transition-delay: .6s
}

.modal .listbox li:nth-child(5) {
  transition-delay: .7s
}

.modal .listbox li:nth-child(6) {
  transition-delay: .8s
}

.modal .listbox li:nth-child(7) {
  transition-delay: .9s
}

.modal .listbox li:nth-child(8) {
  transition-delay: 1s
}

.modal .listbox li:nth-child(9) {
  transition-delay: 1.1s
}

.modal .listbox li:nth-child(10) {
  transition-delay: 1.2s
}

.modal .listbox li:nth-child(11) {
  transition-delay: 1.3s
}

.modal .listbox li:nth-child(12) {
  transition-delay: 1.4s
}

.modal .listbox li:nth-child(13) {
  transition-delay: 1.5s
}

.modal .listbox li:nth-child(14) {
  transition-delay: 1.6s
}

.modal .listbox li:nth-child(15) {
  transition-delay: 1.7s
}

.modal .listbox .active {
  opacity: 0.4;
  pointer-events: none;
}

.modal .modal__scrollable {
  -webkit-overflow-scrolling: touch;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scroll-snap-type: y mandatory;
  scrollbar-width: none
}

.modal .modal__scrollable::-webkit-scrollbar {
  -webkit-appearance: none;
  background-clip: padding-box;
  background-color: transparent;
  border-radius: var(--rounded-full);
  width: 3px
}

.modal .modal__scrollable::-webkit-scrollbar-thumb {
  background-clip: padding-box;
  background-color: rgb(var(--color-foreground)/ 0.2);
  border-radius: var(--rounded-full)
}

[data-rounded-block=round] .menu-drawer .modal__container {
  border-start-end-radius: var(--sp-6);
  border-start-start-radius: var(--sp-6);
}

.menu-drawer .modal__content {
  padding: var(--sp-10);
}

.menu-drawer .modal .close {
  width: var(--sp-12);
  height: var(--sp-12);
}

.menu-drawer .drawer__header {
  padding: var(--sp-8) var(--sp-5) var(--sp-4);
  border-block-end: 0;
}

.menu-drawer .drawer__footer-top {
  padding-block: var(--sp-2d5);
}

.menu-drawer .drawer__footer-top>button {
  padding: var(--sp-0d5) var(--sp-5);
}

@media screen and (min-width: 768px) {
  .menu-drawer .drawer__footer-top>button {
    width: 50%;
  }
}

.menu-drawer .drawer__footer-top .btn-text .icon:first-child {
  width: var(--sp-4d5);
}

@media screen and (max-width: 767px) {
  .menu-drawer .drawer__footer-top>button .btn-text {
    line-height: normal;
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}

.menu-drawer .drawer__footer-bottom {
  padding: var(--sp-5);
}

.menu-drawer .drawer__footer-bottom .button {
  font-size: var(--text-sm);
  padding-block: var(--sp-2d5);
  padding-inline: var(--sp-5);
}

.menu-drawer .drawer__scrollable {
  padding-inline: 0;
  padding-block: var(--sp-3) var(--sp-10);
}

.menu-drawer .drawer__scrollable.active {
  overflow: unset;
}

.menu-drawer .drawer__scrollable.active>li {
  transform: none !important;
  opacity: 1 !important;
}

.menu-drawer .drawer__sticky {
  padding-block: 0;
  padding-inline: var(--sp-5);
}

@media screen and (min-width: 768px) {
  .menu-drawer .drawer__menu {
    padding-block-start: var(--sp-6);
  }
}

.drawer__menu .product-grid {
  padding-block-start: var(--sp-2);
  padding-inline: var(--sp-5);
}

.drawer__menu .drawer__menu-group {
  padding-inline-start: var(--sp-5);
}

.drawer__menu .mega-menu__footer {
  padding-inline: var(--sp-5);
}

.drawer__menu .mega-menu__footer::before {
  content: none;
}

/*
.drawer__menu summary::after {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: var(--sp-7);
  opacity: 0.4;
  transform: rotate(calc(45deg * var(--transform-logical))) translateY(-50%);
  border-block-start: 1.5px solid currentColor;
  border-inline-end: 1.5px solid currentColor;
}
*/

.drawer__menu summary>.icon {
  position: absolute;
  inset-block-start: calc(50% - var(--sp-3));
  inset-inline-end: var(--sp-4d5);
  opacity: 0.4;
}

.drawer__menu summary>.icon-chevron-right {
  transform: scaleX(var(--transform-logical));
}

.drawer__menu summary>.icon-chevron-down {
  transition: transform var(--animation-primary);
}

.drawer__menu details[aria-expanded=true]>summary>.icon-chevron-down {
  transform: scaleY(-1);
}

.drawer__menu-item {
  padding-block: var(--sp-2d5);
  transition: transform var(--animation-primary);
}

.drawer__submenu {
  background-color: rgb(var(--color-background));
  inset-inline-start: 100%;
  transition: inset var(--animation-primary);
}

.drawer__submenu>button {
  height: 50px;
  border-block-end: 1px solid rgb(var(--color-border-light));
  padding-inline-start: var(--sp-5);
  color: rgb(var(--color-foreground)/ 0.4);
}

.drawer__submenu>button::before {
  content: '';
  display: block;
  border-inline-start: 2px solid currentColor;
  border-block-start: 2px solid currentColor;
  width: var(--sp-2);
  height: var(--sp-2);
  transform: rotate(calc(-45deg * var(--transform-logical)));
}

.drawer__submenu>button:focus-visible {
  outline-offset: -3px;
}

details.active>.drawer__submenu {
  inset-inline-start: 0;
}

details[open]>.drawer__submenu {
  z-index: 3;
}

details.active .drawer__menu-item {
  --tw-translate-x: 0;
  opacity: 1;
}

:is(.drawer__menu, .drawer__submenu).active>li>a,
:is(.drawer__menu, .drawer__submenu).active>li>details>summary {
  transform: translateX(calc(-30% * var(--transform-logical)));
}

li+.drawer__promotions {
  padding-block-start: var(--sp-4);
}

.drawer__promotions {
  padding-block-start: var(--sp-2);
  padding-inline-end: var(--sp-5);
}

.drawer__promotions .mega-menu__list {
  --header-nav-gap: var(--sp-3);
  padding-block: 0;
}

.drawer__promotions .mega-menu__item {
  --tw-translate-x: calc(var(--sp-10) * -1);
  max-width: 100%;
  padding-inline-start: 0;
  transition: transform .6s cubic-bezier(.075, .82, .165, 1), opacity .6s cubic-bezier(.19, 1, .22, 1);
}

details[is=accordion-details] .drawer__promotions .mega-menu__item,
details.active .drawer__promotions .mega-menu__item,
.drawer__promotions .media-card__text {
  --tw-translate-x: 0;
  opacity: 1;
}

.drawer__promotions .media-card--overlap .media-card__content {
  padding-inline: var(--sp-4);
  padding-block-end: var(--sp-3d5);
}

@media screen and (max-width: 639px) {
  .js .menu-drawer .modal .fixed-modal {
    background: none;
    background-color: rgb(var(--color-overlay)/ 0.35)
  }
}

/*! dropdown-menu */

.header~.overlay {
  inset: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgb(var(--color-drawer-overlay)/ 0.1) 40%, rgb(var(--color-drawer-overlay)/ 0.5) 80%);
  transition: .8s cubic-bezier(.7, 0, .2, 1);
  transition-property: opacity, visibility;
}

.has-dropdown-menu .header::before {
  border-radius: 0;
}

.has-dropdown-menu .header~.overlay {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0.1s;
  cursor: none;
}

.has-dropdown-menu .header-transparent:not(.header-scrolled) .header {
  --animation-nav-delay: 0s;
  --header-background-opacity: 1;
  --header-logo-opacity: 1;
  color: rgb(var(--color-foreground));
}

.has-dropdown-menu .header-section:not(.header-scrolled) .header__corner {
  --tw-translate-x: 0;
  width: var(--border-radius);
  height: var(--border-radius);
  color: rgb(var(--color-background));
}

.dropdown {
  --border-radius: clamp(var(--sp-4), 1.052vw, var(--sp-5));
  margin-inline-start: calc(var(--sp-8) * -1);
  min-width: 250px;
  width: max-content;
  transition: padding var(--animation-nav);
}

.dropdown__container {
  color: rgb(var(--color-foreground));
  background-color: rgb(var(--color-background));
  padding-block-start: var(--sp-6);
  padding-block-end: var(--sp-10);
}

[data-rounded-block=round] .dropdown__container {
  border-end-start-radius: var(--border-radius);
  border-end-end-radius: var(--border-radius);
}

.no-js .dropdown__container {
  border: 1px solid rgb(var(--color-border));
}

.no-js [data-rounded-block=round] .dropdown__container {
  border-radius: var(--border-radius);
}

.no-js .dropdown__corner {
  display: none;
}

.dropdown[open] {
  pointer-events: auto;
}

.dropdown__nav li {
  --tw-translate-x: 20%;
  transform: translateX(calc(var(--tw-translate-x) * var(--transform-logical)));
  transition: transform 1s cubic-bezier(.075, .82, .165, 1), opacity 1s cubic-bezier(.19, 1, .22, 1);
  transition-delay: 0.2s;
}

.dropdown__nav li>:is(details, p) {
  padding-inline: var(--sp-8);
}

.dropdown[open] .dropdown__nav>li {
  --tw-translate-x: 0;
  opacity: 1;
  transition-delay: 1.2s;
}

.dropdown[open] .dropdown__nav li:first-child {
  transition-delay: 0.3s
}

.dropdown[open] .dropdown__nav li:nth-child(2) {
  transition-delay: 0.4s
}

.dropdown[open] .dropdown__nav li:nth-child(3) {
  transition-delay: 0.5s
}

.dropdown[open] .dropdown__nav li:nth-child(4) {
  transition-delay: 0.6s
}

.dropdown[open] .dropdown__nav li:nth-child(5) {
  transition-delay: 0.7s
}

.dropdown[open] .dropdown__nav li:nth-child(6) {
  transition-delay: 0.8s
}

.dropdown[open] .dropdown__nav li:nth-child(7) {
  transition-delay: 0.9s
}

.dropdown[open] .dropdown__nav li:nth-child(8) {
  transition-delay: 1s
}

.dropdown[open] .dropdown__nav li:nth-child(9) {
  transition-delay: 1.1s
}

.dropdown__nav a {
  line-height: 1.5;
}

.dropdown__corner {
  inset-block-start: 0;
}

.dropdown__corner.top.left {
  --tw-scale-x: -1;
  --tw-rotate: 0;
  left: calc(var(--border-radius) * -1);
}

.dropdown__corner.top.right {
  --tw-scale-y: 1;
  --tw-rotate: 0;
  right: calc(var(--border-radius) * -1);
}

.dropdown .dropdown {
  margin-inline-start: 0;
  margin-block-start: calc(var(--sp-5) * -1);
  padding-inline-start: var(--sp-1);
  padding-block-start: 0;
  transform: translateX(calc(var(--tw-translate-x) * var(--transform-logical)));
  transition: opacity var(--animation-fast), transform var(--animation-primary);
}

.dropdown .dropdown .dropdown__container {
  --tw-translate-y: 0;
  padding-block: var(--sp-6);
}

[data-rounded-block=round] .dropdown .dropdown .dropdown__container {
  border-radius: var(--border-radius);
}

.dropdown.should-reverse .dropdown {
  inset-inline-start: auto;
  inset-inline-end: 100%;
  padding-inline-start: 0;
  padding-inline-end: var(--sp-1);
}

.dropdown__nav li[aria-controls]:hover>.dropdown {
  --tw-translate-x: 0;
  opacity: 1;
  pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
  .header-transparent:not(.header-scrolled) .dropdown {
    transition-delay: 0s;
  }

  .dropdown {
    transition: var(--animation-nav);
    transition-property: opacity, padding;
  }

  .dropdown__container {
    --tw-translate-y: 0;
  }

  .dropdown__nav li {
    --tw-translate-x: 0;
    opacity: 1;
  }
}

/*! no-js */

.no-js details[is=details-dropdown]>.dropdown,
.no-js details[is=details-mega]>.mega-menu {
  inset-block-start: 100%;
}

.no-js details[is=details-dropdown][open]>.dropdown,
.no-js details[is=details-mega][open]>.mega-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.no-js details[is=details-mega]>.mega-menu .mega-menu__container {
  visibility: visible;
  transform: translateY(0px);
}

.no-js :is(details[is=details-dropdown], details[is=details-mega])[open]>summary .menu__item [data-text]:has(~.btn-duplicate) {
  opacity: 0;
  transform: translateY(-10%) scale(.6);
}

.no-js :is(details[is=details-dropdown], details[is=details-mega])[open]>summary .menu__item .btn-duplicate {
  --tw-scale: 1;
  --tw-translate-y: 0%;
}

.no-js .dropdown .dropdown__nav li,
.no-js .mega-menu .mega-menu__nav li,
.no-js .mega-menu .mega-menu__nav-item {
  --tw-translate-x: 0;
  opacity: 1;
}

.no-js .mega-menu .mega-menu__item {
  --tw-translate-y: 0;
  --tw-translate-x: 0;
  opacity: 1;
}

/*! mega-menu */

.has-dropdown-menu.with-mega .header :is(.header__corner, .cutout) {
  opacity: 0;
}

@media screen and (min-width: 768px) {
  .header-scrolled .mega-menu__container {
    padding-block-start: calc(var(--header-height) - calc(var(--section-padding-top) * 0.25) - calc(var(--section-padding-bottom) * 0.25))
  }
}

.mega-menu__container {
  background-color: rgb(var(--color-background));
  padding-block-start: var(--header-height);
  transition: padding var(--animation-nav);
}

[data-rounded-block=round] .mega-menu__container {
  border-end-start-radius: var(--border-radius);
  border-end-end-radius: var(--border-radius);
}

.no-js .mega-menu__container {
  border: 1px solid rgb(var(--color-border));
}

.no-js [data-rounded-block=round] .mega-menu__container {
  border-radius: var(--border-radius);
}

[data-rounded-block=round] .mega-menu {
  border-end-start-radius: var(--border-radius);
  border-end-end-radius: var(--border-radius);
}

.mega-menu[open] {
  pointer-events: auto;
}

.mega-menu__list {
  --header-nav-gap: clamp(var(--sp-4), 1.263vw, var(--sp-6));
  gap: var(--header-nav-gap);
  padding-block-start: var(--sp-3);
  padding-block-end: var(--sp-14);
}

.mega-menu__item {
  --tw-translate-y: 0;
  --tw-translate-x: 25%;
  flex: calc(20% - var(--header-nav-gap) * 5 / 6);
  max-width: calc(25% - var(--header-nav-gap) * 4 / 5);
  color: rgb(var(--color-foreground));
  transform: translate(calc(var(--tw-translate-x) * var(--transform-logical)), var(--tw-translate-y));
  transition: transform 1.5s cubic-bezier(.075, .82, .165, 1), opacity .9s cubic-bezier(.19, 1, .22, 1);
  transition-delay: .25s;
}

.mega-menu__item--nav {
  flex: calc(50% - var(--header-nav-gap) / 2);
  max-width: calc(50% - var(--header-nav-gap) / 2);
  align-content: space-between;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding-inline-end: var(--sp-5);
}

@media screen and (min-width: 1280px) {
  .mega-menu__item--nav {
    padding-inline-end: var(--sp-10);
    padding-block-start: var(--sp-6);
  }
}

.mega-menu__item--small {
  flex: calc(25% - var(--header-nav-gap) / 2);
  max-width: calc(25% - var(--header-nav-gap) / 2);
}

.mega-menu__item--large {
  flex: calc(75% - var(--header-nav-gap) / 2);
  max-width: calc(75% - var(--header-nav-gap) / 2);
}

.mega-menu__item--full {
  flex: 100%;
  max-width: 100%;
}

.mega-menu[open] .mega-menu__item {
  --tw-translate-y: 0;
  --tw-translate-x: 0;
  opacity: 1;
}

.mega-menu[open] .mega-menu__item:first-child {
  transition-delay: .3s
}

.mega-menu[open] .mega-menu__item:first-child .media-card__text {
  transition-delay: .45s
}

.mega-menu[open] .mega-menu__item:nth-child(2) {
  transition-delay: .4s
}

.mega-menu[open] .mega-menu__item:nth-child(2) .media-card__text {
  transition-delay: .55s
}

.mega-menu[open] .mega-menu__item:nth-child(3) {
  transition-delay: .5s
}

.mega-menu[open] .mega-menu__item:nth-child(3) .media-card__text {
  transition-delay: .65s
}

.mega-menu[open] .mega-menu__item:nth-child(4) {
  transition-delay: .6s
}

.mega-menu[open] .mega-menu__item:nth-child(4) .media-card__text {
  transition-delay: .75s
}

.mega-menu[open] .mega-menu__item:nth-child(5) {
  transition-delay: .7s
}

.mega-menu[open] .mega-menu__item:nth-child(5) .media-card__text {
  transition-delay: .85s
}

.media-card {
  background-color: rgb(var(--color-placeholder));
  border-radius: var(--card-radius);
}

.media-card .media {
  border-start-start-radius: var(--card-radius);
  border-start-end-radius: var(--card-radius);
}

.media-card--standard {
  background-color: transparent;
}

.media-card--standard .media,
.media-card--overlap .media {
  border-radius: var(--card-radius);
}

.media-card--overlap .media-card__link .media:not(.loading)::after {
  content: '';
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(var(--color-overlay)/ var(--overlay-opacity));
}

.media-card__link .media img {
  height: 100%;
  transition: transform var(--animation-primary);
  backface-visibility: hidden;
}

.media-card__content {
  --card-content-padding-block: clamp(var(--sp-4), 1.263vw, var(--sp-6)) clamp(var(--sp-4), 2.105vw, var(--sp-10));
  --card-content-padding-inline: clamp(var(--sp-4), 2.105vw, var(--sp-10));
  padding-block: var(--card-content-padding-block);
  padding-inline: var(--card-content-padding-inline);
  color: rgb(var(--color-foreground));
}

.media-card__content.text-center {
  justify-content: center;
}

.media-card__content.text-center>.icon {
  display: none;
}

.media-card--standard .media-card__content {
  padding-inline: 0;
}

.media-card--overlap .media-card__content {
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  padding-block-start: 0;
  padding-block-end: var(--sp-5);
  padding-inline: var(--sp-6);
}

@media screen and (min-width: 1536px) {
  .media-card--overlap .media-card__content {
    padding-block-end: var(--sp-7);
    padding-inline: var(--sp-10);
  }
}

.media-card--overlap .media {
  height: 100%;
}

.media-card__text {
  --tw-translate-y: 0;
  --tw-translate-x: 25%;
  transform: translate(calc(var(--tw-translate-x) * var(--transform-logical)), var(--tw-translate-y));
  transition: transform 2s cubic-bezier(.075, .82, .165, 1), opacity 1s cubic-bezier(.19, 1, .22, 1);
  transition-delay: .25s;
}

.no-js .media-card__text,
.mega-menu[open] .media-card__text {
  --tw-translate-y: 0;
  --tw-translate-x: 0;
  opacity: 1;
}

.media-card__text .heading {
  --reversed-link-gap: min(100%, 1.35em);
}

.media-card__text .count {
  inset-inline-start: calc(100% + 0.3em);
}

.media-card__content .icon {
  transition: transform var(--animation-primary)
}

.media-card__link .media img {
  transform: scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@media screen and (min-width: 1280px) {
  .media-card__content .icon {
    width: var(--sp-5);
    height: var(--sp-5);
  }
}

@media screen and (pointer: fine) {
  .media-card__link:hover .media img {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
  }

  .media-card__link:hover .media-card__content .icon {
    --tw-rotate: calc(90deg * var(--transform-logical));
  }

  .media-card__link:hover .media-card__text .heading {
    background-position-x: var(--transform-origin-start);
    background-size: 100% 1.35px
  }
}

.media-card__link:focus-visible .media-card__text {
  outline: 2px solid rgb(var(--color-keyboard-focus));
  outline-offset: 3px;
}

@media screen and (min-width: 1536px) {
  .media-card__text p {
    font-size: var(--text-sm);
    line-height: 1.25
  }
}

.mega-menu__nav {
  --header-nav-gap: clamp(var(--sp-5), 6.5vw, var(--sp-32));
  column-gap: var(--header-nav-gap);
  row-gap: clamp(var(--sp-5), 2.315vw, var(--sp-11));
}

.mega-menu__nav.grid {
  grid-auto-flow: column;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: auto auto;
}

.mega-menu__item--small .mega-menu__nav.grid {
  grid-template-columns: auto;
}

.mega-menu__nav--more.grid {
  grid-template-rows: auto auto auto;
}

.mega-menu__nav.flex .mega-menu__nav-item {
  flex: calc(20% - var(--header-nav-gap) * 4 / 5);
  max-width: calc(20% - var(--header-nav-gap) * 4 / 5);
}

.mega-menu__nav-item {
  --tw-translate-x: 25%;
  transform: translateX(calc(var(--tw-translate-x) * var(--transform-logical)));
  transition: transform 2s cubic-bezier(.075, .82, .165, 1), opacity 1s cubic-bezier(.19, 1, .22, 1);
  transition-delay: .25s;
}

.mega-menu[open] .mega-menu__nav-item:is(:nth-child(1), :nth-child(2)) {
  transition-delay: .5s;
}

.mega-menu[open] .mega-menu__nav-item:is(:nth-child(3), :nth-child(4)) {
  transition-delay: .65s;
}

.mega-menu[open] .mega-menu__nav-item:is(:nth-child(5), :nth-child(6)) {
  transition-delay: .75s;
}

.mega-menu[open] .mega-menu__nav--more .mega-menu__nav-item:is(:nth-child(1), :nth-child(2), :nth-child(3)) {
  transition-delay: .5s;
}

.mega-menu[open] .mega-menu__nav--more .mega-menu__nav-item:is(:nth-child(4), :nth-child(5), :nth-child(6)) {
  transition-delay: .65s;
}

.mega-menu[open] .mega-menu__nav--more .mega-menu__nav-item:is(:nth-child(7), :nth-child(8), :nth-child(9)) {
  transition-delay: .75s;
}

.mega-menu[open] .mega-menu__nav-item {
  --tw-translate-x: 0;
  opacity: 1;
}

.mega-menu__nav .media {
  margin-block-end: var(--sp-4);
}

[data-rounded-block=round] .mega-menu__nav .media {
  border-radius: var(--sp-2d5);
}

.mega-menu__nav ul {
  margin-block-start: var(--sp-3);
}

.mega-menu__nav ul a {
  line-height: 1.5;
}

.mega-menu__footer {
  margin-block-start: var(--sp-7);
}

.mega-menu__footer::before {
  --tw-scale-x: 0;
  content: '';
  background-color: rgb(var(--color-foreground));
  position: absolute;
  height: 1px;
  inset-inline: 0;
  inset-block-start: 0;
  transform: scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform-origin: center var(--transform-origin-start);
  transition: transform 1s cubic-bezier(.215, .61, .355, 1);
  transition-delay: .5s;
}

.no-js .mega-menu__footer::before,
.mega-menu[open] .mega-menu__footer::before {
  --tw-scale-x: 1;
}

.mega-menu__footer .mega-menu__link {
  padding-block-start: var(--sp-3);
}

@media screen and (min-width: 1280px) {
  .mega-menu__footer .mega-menu__link {
    padding-block-start: var(--sp-5);
    padding-block-end: var(--sp-4);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mega-menu__container {
    --tw-translate-y: 0;
    opacity: 0;
    transition: var(--animation-nav);
    transition-property: opacity, padding;
  }

  .mega-menu[open] .mega-menu__container {
    opacity: 1;
  }

  .mega-menu__item,
  .media-card__text {
    --tw-translate-y: 0;
    --tw-translate-x: 0;
    opacity: 1;
  }

  .mega-menu__nav-item {
    --tw-translate-x: 0;
    opacity: 1;
  }

  .mega-menu__footer::before {
    --tw-scale-x: 1;
  }
}

.mega-menu__list--tabs {
  --nav-tabs-gap: var(--header-nav-gap);
  --nav-tabs-width: min(230px, 25vw);
  --nav-promo-width: min(260px, 25vw);
  gap: var(--nav-tabs-gap);
}

.mega-menu__item--panels {
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  max-width: calc(100% - var(--nav-tabs-width) - var(--nav-tabs-gap));
}

.mega-menu__panel {
  gap: var(--nav-tabs-gap);
  grid-template-columns: minmax(0, 1fr) auto;
}

.mega-menu__panel.without-promo {
  gap: 0;
}

.mega-menu__panel .product-card {
  --color-background: var(--color-base-background);
  --color-foreground: var(--color-base-text);
  color: rgb(var(--color-foreground));
  width: 100%;
}

.mega-menu__panel .media-card {
  width: var(--nav-promo-width);
}

.mega-menu__panel .media-card__text {
  --tw-translate-y: 0;
  --tw-translate-x: 0;
  opacity: 1;
}

.mega-menu__panel .mega-menu__link {
  gap: var(--sp-4);
}

@media screen and (pointer: fine) {
  .mega-menu__link .icon {
    transition: transform var(--animation-primary);
  }

  .mega-menu__link:hover .icon {
    --tw-rotate: calc(90deg* var(--transform-logical));
  }
}

.mega-menu__item--tabs {
  flex: 0 0 auto;
  max-width: var(--nav-tabs-width);
}

.mega-menu__item--tabs .mega-menu__footer {
  margin-block-start: auto;
}

.mega-menu__nav--tabs.grid {
  gap: var(--sp-1d5);
  grid-template: unset;
  grid-auto-flow: unset;
}

.mega-menu__nav--tabs .media {
  margin-block-end: 0;
}

.mega-menu__nav--tabs .mega-menu__nav-item {
  gap: var(--sp-2);
}

.mega-menu__nav--tabs .mega-menu__nav-item :is(.media, .heading) {
  opacity: 0.5;
}

.mega-menu__nav--tabs .mega-menu__nav-item[disabled] {
  pointer-events: none;
}

.mega-menu__nav--tabs .mega-menu__nav-item[disabled] :is(.media, .heading) {
  opacity: 1;
}

.mega-menu[open] .mega-menu__nav--tabs .mega-menu__nav-item:nth-child(1) {
  transition-delay: 0.5s;
}

.mega-menu[open] .mega-menu__nav--tabs .mega-menu__nav-item:nth-child(2) {
  transition-delay: 0.6s;
}

.mega-menu[open] .mega-menu__nav--tabs .mega-menu__nav-item:nth-child(3) {
  transition-delay: 0.7s;
}

.mega-menu[open] .mega-menu__nav--tabs .mega-menu__nav-item:nth-child(4) {
  transition-delay: 0.8s;
}

.mega-menu[open] .mega-menu__nav--tabs .mega-menu__nav-item:nth-child(5) {
  transition-delay: 0.9s;
}

@media screen and (min-width: 768px) {
  .mega-menu__panel :is(.card-grid--3, .card-grid--4) {
    --card-grid-per-row: 2;
  }

  .mega-menu__panel.without-promo :is(.card-grid--3, .card-grid--4) {
    --card-grid-per-row: 3;
  }
}

@media screen and (min-width: 1024px) {
  .mega-menu__panel .slider {
    --slider-padding: clamp(var(--sp-4), 1.263vw, var(--sp-6));
    --slider-container: calc(var(--page-container) - var(--nav-tabs-width) - var(--nav-promo-width) - calc(var(--nav-tabs-gap) * 2));
  }

  .mega-menu__panel.without-promo .slider {
    --slider-padding: clamp(var(--sp-4), 1.263vw, var(--sp-6));
    --slider-container: calc(var(--page-container) - var(--nav-tabs-width) - var(--nav-tabs-gap));
  }

  .mega-menu__panel .product-card__details .price {
    text-align: end;
  }

  .mega-menu__panel .product-card__details .price__regular {
    white-space: normal;
    line-height: 1.25;
  }

  .mega-menu__panel .product-card__details .price__regular small {
    display: block;
  }
}

@media screen and (min-width: 1280px) {
  .mega-menu__panel :is(.card-grid--3, .card-grid--4) {
    --card-grid-per-row: 3;
  }

  .mega-menu__panel.without-promo .card-grid--4 {
    --card-grid-per-row: 4;
  }
}

@media screen and (min-width: 1536px) {
  .mega-menu__list--tabs {
    --nav-tabs-gap: var(--grid-gap);
    --nav-tabs-width: min(320px, 25vw);
    --nav-promo-width: min(340px, 25vw);
  }
}

@media screen and (min-width: 1920px) {
  .mega-menu__list--tabs {
    --nav-tabs-width: min(340px, 25vw);
    --nav-promo-width: min(430px, 25vw);
  }
}

@media screen and (min-width: 2200px) {
  .mega-menu__panel .card-grid--4 {
    --card-grid-per-row: 4;
  }
}

/*! footer */

@media screen and (min-width: 768px) {
  .footer-group {
    position: absolute;
    z-index: -1;
  }

  .has-modal-opening .footer-group,
  .has-modal-open .footer-group {
    padding-inline-end: var(--scrollbar-width);
  }
}

.js .footer-group .section--rounded::before {
  inset-block-start: auto;
  inset-block-end: 0;
  border-start-end-radius: 0;
  border-start-start-radius: 0;
}

.js .footer-overlay {
  opacity: 0.8;
  height: var(--section-padding-top);
  background-image: linear-gradient(to bottom, rgb(var(--color-background)), rgb(var(--color-background)/ 0));
  inset-block-start: calc(-1 * var(--border-radius));
}

.footer {
  color: rgb(var(--color-foreground));
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media screen and (min-width: 1280px) {
  .footer {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer--no-info {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .footer--inverted {
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
  }
}

@media screen and (min-width: 768px) {
  .footer__left {
    gap: clamp(var(--sp-20), 8.421vw, var(--sp-40));
  }
}

@media screen and (min-width: 1280px) {
  .footer__left {
    border-inline-end: 1px solid rgb(var(--color-foreground)/ 0.115);
  }

  .footer--inverted .footer__left {
    border-inline-end: 0;
    border-inline-start: 1px solid rgb(var(--color-foreground)/ 0.115);
    padding-inline-start: clamp(var(--sp-10), 8.421vw, var(--sp-40));
  }

  .footer--inverted .footer__right {
    order: -1;
    padding-inline-start: 0;
  }
}

.footer__right .footer__logo {
  margin-block-end: var(--sp-6d5);
}

.footer__logo img {
  max-width: calc(var(--image-width) * 0.75);
  max-height: calc(var(--image-height) * 0.75);
}

@media screen and (min-width: 1024px) {
  .footer__logo img {
    max-width: var(--image-width);
    max-height: var(--image-height);
  }
}

.footer__accordions .details {
  border: 0 solid rgb(var(--color-foreground)/ 0.115);
  border-block-start-width: 1px;
  border-inline-end-width: 1px;
  border-inline-start-width: 1px;
  padding-inline: var(--sp-5)
}

@media screen and (min-width: 768px) {
  .footer__accordions .details {
    border-width: 0;
    padding-inline: 0
  }
}

@media screen and (max-width: 767px) {
  .footer__accordions .no-details {
    order: 13;
    margin-block-start: var(--sp-7);
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .footer__accordions .details {
    width: calc(25% - var(--sp-12) * 4 / 5);
  }

  .footer__accordions .no-details {
    width: calc(50% - var(--sp-12) 2 / 3);
  }
}

@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .footer__accordions .no-details {
    width: calc(33.33% - var(--sp-12) * 3 / 4);
  }
}

.footer__accordions .details .details__summary {
  padding-block: var(--sp-5);
}

@media screen and (min-width: 768px) {
  .footer__accordions .details .details__summary {
    padding-block-start: 0;
  }

  .js .footer__accordions .details .details__summary {
    pointer-events: none
  }

  .js .footer__accordions .details .details__summary svg {
    display: none
  }
}

.footer__accordions .details__summary+.details__content::before {
  content: '';
  display: block;
  pointer-events: none;
  padding-block-start: var(--sp-2)
}

.footer__accordions .details:first-of-type {
  border-block-end-width: 0;
}

[data-rounded-block=round] .footer__accordions .details:first-of-type {
  border-start-end-radius: var(--sp-2);
  border-start-start-radius: var(--sp-2)
}

@media screen and (min-width: 768px) {
  .footer__accordions .details:first-of-type {
    border-radius: 0
  }
}

.footer__accordions .details:last-of-type {
  border-block-end-width: 1px;
}

[data-rounded-block=round] .footer__accordions .details:last-of-type {
  border-end-end-radius: var(--sp-2);
  border-end-start-radius: var(--sp-2)
}

@media screen and (min-width: 768px) {
  .footer__accordions .details:last-of-type {
    border-block-end-width: 0;
    border-radius: 0
  }
}

.footer__accordions .details:last-of-type .details__content::after {
  content: '';
  display: block;
  padding-block-end: var(--sp-7)
}

.footer__contact {
  font-size: clamp(var(--text-xl), 1.578vw, var(--text-3xl));
}

.footer__right {
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-content: space-between;
  border-block-start: 1px solid rgb(var(--color-foreground)/ 0.115);
  margin-block-start: var(--sp-10);
  padding-block-start: var(--sp-14)
}

@media screen and (min-width: 768px) {
  .footer__right {
    grid-template-columns: repeat(5, minmax(0, 1fr))
  }
}

@media screen and (min-width: 1280px) {
  .footer__right {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: 0;
    border-block-start-width: 0;
    margin-block-start: 0;
    padding-block: 0;
    padding-inline: clamp(var(--sp-10), 8.421vw, var(--sp-40));
  }
}

.follow-on-shop {
  grid-column: span 2/span 2
}

.social_platform::before {
  content: '';
  position: absolute;
  inset: calc(var(--sp-2d5) * -1);
}

.footer__socials {
  grid-column: span 2/span 2
}

.footer__newsletter {
  grid-column: span 3/span 3
}

@media screen and (min-width: 768px) {
  .footer__newsletter .md\:title-sm {
    font-size: var(--fluid-base-to-2xl)
  }

  .footer__newsletter .md\:title-md {
    font-size: var(--fluid-2xl-to-4xl)
  }

  .footer__newsletter .md\:title-lg {
    font-size: var(--title-sm)
  }

  .footer__newsletter .md\:title-xl {
    font-size: var(--title-md)
  }
}

.newsletter-form {
  max-width: 28rem;
}

.newsletter-form .alert {
  border-radius: var(--rounded-full);
}

.newsletter-form .field .input {
  box-shadow: none;
  background-color: rgb(var(--color-foreground)/ 0.045);
  color: rgb(var(--color-foreground));
}

.newsletter-form .field .input:focus {
  background-color: rgb(var(--color-foreground)/ 0.115);
}

.newsletter-form .field .input:-webkit-autofill {
  transition: background-color 9999s;
  -webkit-text-fill-color: rgb(var(--color-foreground));
}

.text-left .newsletter-form {
  margin-inline-start: unset;
  margin-inline-end: auto;
}

.text-center .newsletter-form {
  margin-inline: auto;
}

.text-right .newsletter-form {
  margin-inline-end: unset;
  margin-inline-start: auto;
}

@media screen and (min-width: 768px) {
  .md\:text-left .newsletter-form {
    margin-inline-start: unset;
    margin-inline-end: auto;
  }
  
  .md\:text-center .newsletter-form {
    margin-inline: auto;
  }
  
  .md\:text-right .newsletter-form {
    margin-inline-end: unset;
    margin-inline-start: auto;
  }
}

/*! footer-copyright */

.footer-copyright {
  --color-button-text: var(--color-background);
  --color-button-border: var(--color-foreground);
  --color-button-background: var(--color-foreground);
  font-size: var(--text-2sm);
  color: rgb(var(--color-foreground));
  padding-block: clamp(var(--sp-7), 1.789vw, var(--sp-8d5));
}

@media screen and (min-width: 1024px) {
  .footer-copyright {
    font-size: var(--text-sm)
  }
}

.footer-copyright .credits {
  order: 3;
}

@media screen and (min-width: 1024px) {
  .footer-copyright .credits {
    order: 1;
    text-align: start
  }
}

.footer-copyright .credits ul {
  margin-block-start: var(--sp-4);
  margin-block-end: 0;
  padding-inline-start: 0;
  list-style: none;
}

.footer-copyright .credits li {
  margin-block-start: 0;
  padding-inline-start: 0;
}

.footer-copyright .localization {
  gap: clamp(var(--sp-2), .842vw, var(--sp-4));
  order: 1
}

@media screen and (min-width: 1024px) {
  .footer-copyright .localization {
    order: 2
  }
}

.footer-copyright .localization__form .icon {
  inset-inline-start: var(--sp-5);
}

.footer-copyright .localization__form .icon~.icon {
  inset-inline-start: auto;
  inset-inline-end: var(--sp-5);
}

.footer-copyright .localization__item {
  appearance: none;
  border: 1px solid rgb(var(--color-foreground)/ 0.115);
  background-color: transparent;
  padding-block: var(--sp-3d5);
  padding-inline: var(--sp-12);
  border-radius: var(--buttons-radius);
}

.footer-copyright .localization__item option {
  color: rgb(var(--color-base-text));
  background-color: rgb(var(--color-base-background));
}

.footer-copyright .payment-icons {
  order: 2
}

@media screen and (min-width: 1024px) {
  .footer-copyright .payment-icons {
    order: 3
  }
}

.footer-copyright .payment-icons svg {
  width: var(--sp-8)
}

@media screen and (min-width: 1280px) {
  .footer-copyright .payment-icons svg {
    width: var(--sp-10)
  }
}

.footer-copyright .payment-icons--gray svg {
  filter: grayscale(1)
}

/*! breadcrumb */

.breadcrumb {
  font-size: 0;
}

.breadcrumb ul {
  font-size: clamp(var(--text-2sm), 1.2vw, var(--text-base));
}

.breadcrumb :is(ul, li) {
  gap: clamp(var(--sp-3), 0.947vw, var(--sp-4d5));
}

.breadcrumb li+li::before {
  --tw-translate-y: 5%;
  --tw-rotate: 25deg;
  content: '';
  width: 1px;
  height: 60%;
  background-color: rgb(var(--color-border));
  transform: translateY(var(--tw-translate-y)) rotate(var(--tw-rotate));
}

.breadcrumb .icon {
  width: clamp(1rem, 3vw, 1.25rem);
  height: clamp(1rem, 3vw, 1.25rem);
  transition: fill var(--animation-fast);
}

@media screen and (pointer: fine) {
  .breadcrumb a:hover .icon {
    fill: currentColor;
  }
}

/*! marquee */

@keyframes scrolling-left {
  0% {
    transform: translate3d(calc(-100% * var(--transform-logical)), 0, 0);
    visibility: visible;
  }

  100% {
    transform: translate3d(calc(-200% * var(--transform-logical)), 0, 0);
  }
}

@keyframes scrolling-right {
  0% {
    transform: translate3d(calc(-200% * var(--transform-logical)), 0, 0);
    visibility: visible;
  }

  100% {
    transform: translate3d(calc(-100% * var(--transform-logical)), 0, 0);
  }
}

.marquee.animated {
  animation-name: scrolling-left;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  animation-duration: var(--duration);
  animation-play-state: running;
  width: max-content;
}

@media (prefers-reduced-motion: reduce) {
  .marquee.animated {
    animation: none;
  }
}

/*! scrolling-text */

.no-js .scrolling-text {
  justify-content: center;
}

.scrolling-text {
  --grid-gap: calc(var(--section-grid-gap)/ 2);
}

.scrolling-text .marquee {
  padding-inline: calc(var(--grid-gap)/ 2);
}

.scrolling-text .marquee,
.scrolling-text__item {
  gap: var(--grid-gap);
}

.scrolling-text--right .marquee.animated {
  animation-name: scrolling-right;
}

@media (prefers-reduced-motion: reduce) {
  .scrolling-text--right .marquee.animated {
    animation: none;
  }
}

.marquee.with-dot .scrolling-text__item:first-child::before,
.scrolling-text__item.with-text+.scrolling-text__item.with-text::before {
  content: '';
  display: block;
  width: var(--sp-5);
  height: var(--sp-5);
  border: 1px solid currentColor;
  border-radius: var(--rounded-full);
}

.scrolling-text__item.with-text {
  font-size: max(12px, calc(var(--font-size) * 0.6));
}

.scrolling-text__item.with-xtext {
  --stencil-stroke-width: 0.01em;
}

.scrolling-text__item.with-media>:is(img, svg) {
  max-width: 100%;
  width: auto;
  height: calc(var(--image-height)*0.75);
}

@media screen and (pointer: fine) {
  .scrolling-wrapper:hover .marquee,
  .scrolling-text:hover .marquee {
    animation-play-state: paused;
  }
}

.scrolling-text.paused .marquee {
  animation-play-state: paused;
}

@media screen and (min-width: 1024px) {
  .scrolling-text {
    --grid-gap: var(--section-grid-gap);
  }

  .scrolling-text__item.with-text {
    font-size: calc(var(--font-size)*0.75);
  }

  .scrolling-text__item.with-media>:is(img, svg) {
    height: var(--image-height);
  }
}

@media screen and (min-width: 1280px) {
  .scrolling-text__item.with-text {
    font-size: var(--font-size);
  }
}

.scrolling-wrapper {
  --logical: -1;
  padding-block-start: calc(var(--section-padding-top) * 0.75);
  padding-block-end: calc(var(--section-padding-bottom) * 0.75);
  transform: rotate(calc(357deg * var(--logical) * var(--transform-logical)));
}

.scrolling-wrapper.with-right {
  --logical: 1;
}

.scrolling-wrapper::before {
  content: '';
  z-index: -1;
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: -5%;
  width: 110%;
  height: 100%;
  background: var(--gradient-background);
  background-color: rgb(var(--color-background));
}

.scrolling-wrapper+.scrolling-wrapper {
  margin-block-start: -1%;
  transform: rotate(calc(3deg * var(--logical) * var(--transform-logical)));
  filter: grayscale(1);
  opacity: 0.25;
}

.scrolling-text-section {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .scrolling-text-section {
    overflow: unset;
  }

  .scrolling-wrapper {
    padding-block-start: var(--section-padding-top);
    padding-block-end: var(--section-padding-bottom);
  }
}

@supports (overflow: clip) {
  .scrolling-text-section {
    overflow-x: clip;
    overflow-y: visible;
  }
}

/*! logo-list */

.logo-list,
.logo-bar {
  --grid-gap: calc(var(--section-grid-gap)/2);
}

.logo-bar {
  column-gap: var(--grid-gap);
  row-gap: calc(var(--grid-gap)/2);
}

.logo-list .logo-bar {
  flex: 0 0 auto;
  width: max-content;
  margin-inline-end: var(--grid-gap);
}

.logo-list .flickity-viewport {
  flex: 1 1 auto;
}

.logo__media>:is(img, svg) {
  max-width: 100%;
  width: auto;
  height: calc(var(--image-height)* 0.75);
}

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

  .logo-list,
  .logo-bar {
    --grid-gap: var(--section-grid-gap);
  }

  .logo__media>:is(img, svg) {
    height: var(--image-height);
  }
}

.touch .logo-list .logo-bar {
  margin-inline-end: 0;
  padding-inline: calc(var(--grid-gap)/ 2);
}

.touch .logo-bar.animated {
  animation-name: scrolling-left;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  animation-duration: var(--duration);
  animation-play-state: running;
  width: max-content;
}

@media (prefers-reduced-motion: reduce) {
  .touch .logo-bar.animated {
    animation: none;
  }
}

.touch .logo-list--right .logo-bar.animated {
  animation-name: scrolling-right;
}

@media (prefers-reduced-motion: reduce) {
  .touch .logo-list--right .logo-bar.animated {
    animation: none;
  }
}

/*! banner */

.text-left .split-words {
  justify-content: flex-start;
}

.text-center .split-words {
  justify-content: center;
}

.text-right .split-words {
  justify-content: flex-end;
}

@media screen and (min-width: 768px) {
  .md\:text-left .split-words {
    justify-content: flex-start;
  }

  .md\:text-center .split-words {
    justify-content: center;
  }

  .md\:text-right .split-words {
    justify-content: flex-end;
  }
}

@media screen and (min-width: 1024px) {
  .lg\:text-left .split-words {
    justify-content: flex-start;
  }

  .lg\:text-center .split-words {
    justify-content: center;
  }

  .lg\:text-right .split-words {
    justify-content: flex-end;
  }
}

.split-words .word {
  display: inline-flex;
  line-height: 1;
  margin: -0.1em -0.05em;
  overflow: hidden;
  padding: 0.15em 0.05em;
}

.split-words .word.animated {
  overflow: visible;
}

[lang=en] .split-words .word {
  padding-block: 0.08em;
}

.subtext-sm {
  font-size: var(--fluid-sm-to-base);
}

.subtext-md {
  font-size: clamp(var(--text-base), 1.052vw, var(--text-xl));
}

.subtext-lg {
  font-size: var(--fluid-base-to-xl);
}

.subtext-xl {
  font-size: var(--fluid-base-to-2xl);
}

.subtext-custom {
  line-height: var(--subtext-line-height);
  letter-spacing: var(--subtext-letter-spacing);
  text-transform: var(--subtext-text-transform);
  font-size: calc(var(--subtext-size) * 0.75);
}

@media screen and (min-width: 768px) {
  .subtext-custom {
    font-size: var(--subtext-size);
  }
}

.subtitle-sm {
  font-size: var(--fluid-xs-to-sm);
}

.subtitle-md {
  font-size: clamp(var(--text-sm), .947vw, var(--text-lg));
}

.subtitle-lg {
  font-size: var(--fluid-base-to-xl);
}

.subtitle-custom {
  font-size: calc(var(--subtitle-size) * 0.75);
}

@media screen and (min-width: 768px) {
  .subtitle-custom {
    font-size: var(--subtitle-size);
  }
}

.banner__text--colored {
  color: rgb(var(--color-highlight));
}

.banner {
  color: rgb(var(--color-foreground));
}

.banner__overlay {
  z-index: 0;
  background-color: rgb(var(--color-overlay)/ var(--overlay-opacity));
}

.banner__overlay~.banner__content {
  --color-background: var(--color-overlay);
}

.banner__content .media--transparent.loading {
  background-color: transparent;
}

.banner__media .banner__image~.banner__image {
  visibility: hidden;
}

@media screen and (min-width: 768px) {
  .banner__media .banner__image {
    visibility: hidden;
  }

  .banner__media .banner__image:last-child {
    visibility: visible;
  }
}

@media screen and (min-width: 1536px) {
  .page-width .banner__content > .page-width {
    padding-inline: calc(var(--grid-gap)* 2);
  }
}

.banner__media svg.banner__image {
  width: 100%;
}

.banner__box {
  word-wrap: break-word;
  height: fit-content;
  padding-block: clamp(var(--sp-10), 3.368vw, var(--sp-16));
}

@media screen and (min-width: 768px) {
  .banner__box {
    width: auto;
    min-width: 45rem;
    max-width: 64rem;
  }

  .banner__box--small,
  .banner__box--medium {
    min-width: auto;
  }

  .banner__box--small {
    max-width: 32rem;
  }

  .banner__box--medium {
    max-width: 42rem;
  }
}

@media screen and (min-width: 1280px) {
  .banner__box--small {
    max-width: 40rem;
  }

  .banner__box--medium {
    max-width: 58rem;
  }

  .banner__box--large {
    max-width: 64rem;
  }
}

@media screen and (min-width: 1920px) {
  .banner__box--medium {
    max-width: 64rem;
  }

  .banner__box--large {
    max-width: 72rem;
  }
}

.banner__box.w-full {
  width: 100%;
  max-width: 100%;
}

.banner__box>*+*:not(.spacing-section) {
  margin-block-start: var(--sp-5);
}

.banner__box>:is(.link, .button) {
  margin-inline-end: var(--sp-4);
}

.banner__title+*,
.banner__box>:last-child:is(.button, .social-icons) {
  margin-block-start: var(--sp-10);
}

.banner__box .rte :is(b, strong) {
  font-weight: var(--font-medium);
}

.banner__subheading {
  font-weight: 400;
  letter-spacing: 0.25em;
}

.banner .marquee {
  opacity: .025;
  pointer-events: none;
}

.js .section:not(.section--next-rounded) :is(.banner__overlay, .banner__map, .banner__media) {
  height: calc(100% + var(--border-radius));
}

.js .section:not(.section--next-rounded) .page-width :is(.banner__overlay, .banner__map, .banner__media) {
  height: 100%;
}

[role=main] .shopify-section:last-child .section :is(.banner__overlay, .scrolled-images, .banner__map, .banner__media) {
  height: 100%;
}

[role=main] .shopify-section:last-child .video-hero video-media .play-button {
  inset-block-end: var(--sp-5);
}

.js .section--rounded :is(.banner__map, .banner__media, .banner__overlay, .video-hero) {
  border-start-end-radius: var(--border-radius);
  border-start-start-radius: var(--border-radius);
}

.js .section--rounded .page-width :is(.banner__map, .banner__media, .banner__overlay, .video-hero) {
  border-end-end-radius: var(--border-radius);
  border-end-start-radius: var(--border-radius);
}

@media screen and (min-width: 768px) {
  .banner.media--adapt,
  .image-with-text__image.media--adapt {
    height: 0;
    padding-block-end: var(--ratio-percent);
  }

  .banner.media--adapt .media--height>img:first-child,
  .image-with-text__image.media--adapt .media--height>img:first-child {
    position: static;
  }

  .banner.media--adapt .media--height>img:first-child~video,
  .image-with-text__image.media--adapt .media--height>img:first-child~video {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
  }

  .banner.media--adapt .banner__media,
  .image-with-text__image.media--adapt>.media {
    position: absolute;
    inset: 0;
    width: 100%;
  }
}

@media screen and (min-width: 1024px) {
  .banner.media--placeholder {
    --ratio-percent: 0;
    height: 100%;
  }
}

@media screen and (max-width: 767px) {
  .banner:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt),
  .image-with-text__image:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt) {
    height: 0;
    padding-block-end: var(--ratio-percent);
  }

  .banner:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt) .media--height>img,
  .image-with-text__image:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt) .media--height>img {
    position: static;
  }

  .banner:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt) .media--height>img:first-child~video,
  .image-with-text__image:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt) .media--height>img~video {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
  }

  .banner:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt) .banner__media,
  .image-with-text__image:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt)>.media {
    position: absolute;
    inset: 0;
    width: 100%;
  }
}

/*! map */

.banner table {
  width: 100%;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

.banner table tr {
  border: none;
}

.banner table td {
  border: none;
  padding: 0;
  padding-block-end: var(--sp-1d5);
  font-size: inherit;
  text-align: start;
}

.banner table td:last-child {
  text-align: end;
}

.banner.with-map .alert {
  margin-inline: var(--gap-padding);
  margin-block-end: var(--sp-4);
}

.page-width .banner.with-map .alert {
  margin-inline: 0;
}

.banner.with-map .banner__content>.page-width {
  padding-block: clamp(var(--sp-6), 2.105vw, var(--sp-10));
}

.banner.with-map .help-list {
  overflow-x: hidden;
  overflow-y: auto;
  scroll-behavior: smooth;
  scroll-snap-type: y mandatory;
  scrollbar-color: auto;
  scrollbar-width: none;
}

.banner.with-map .help-list::-webkit-scrollbar {
  display: none;
}

.banner.with-map .help-list__item {
  box-shadow: inset 0 0 0 1px rgb(var(--color-border));
  transition: var(--animation-primary);
  transition-property: box-shadow, background-color;
}

.banner.with-map .help-list__item.active {
  cursor: unset;
  box-shadow: none;
  background-color: rgb(var(--color-foreground) / 0.025);
}

.banner.with-map .help-list__item address+.button {
  --shadow-opacity: 0;
  --border-opacity: .1;
  --buttons-border-width: 1px;
  --buttons-radius: var(--rounded-full);
  padding: 0;
  width: var(--sp-6d5);
  height: var(--sp-6d5);
}

.banner.with-map .help-list__item summary::-webkit-details-marker {
  display: none;
}

.banner.with-map .drawer__scrollable {
  padding: clamp(var(--sp-6), 2.105vw, var(--sp-10));
}

.banner.with-map .drawer__scrollable .banner__box {
  padding: 0;
  max-height: unset;
}

.banner.with-map .drawer__scrollable .banner__box+p {
  margin-block-start: var(--sp-10);
}

.banner.with-map .banner__box {
  min-width: unset;
  max-width: 100%;
  background: var(--gradient-background);
  background-color: rgb(var(--color-background));
  padding: clamp(var(--sp-6), 2.105vw, var(--sp-10));
  border-radius: var(--rounded-block);
}

.banner.with-map .banner__subheading {
  border-block-end: 1px solid rgb(var(--color-border));
  margin-block-start: var(--sp-6);
  padding-block-end: var(--sp-3);
  letter-spacing: 0.15em;
}

@media screen and (min-width: 768px) {
  .banner.with-map .banner__box {
    max-width: 26rem;
    max-height: 100%;
  }

  .banner.with-map .help-list {
    scrollbar-width: thin;
    padding-inline-end: clamp(var(--sp-6), 2.105vw, var(--sp-10));
    margin-inline-end: calc(clamp(var(--sp-6), 2.105vw, var(--sp-10)) * -1);
    padding-block-end: clamp(var(--sp-6), 2.105vw, var(--sp-10));
    margin-block-end: calc(clamp(var(--sp-6), 2.105vw, var(--sp-10)) * -1);
  }

  .banner.with-map .help-list::-webkit-scrollbar {
    display: initial;
    -webkit-appearance: none;
    background-clip: padding-box;
    background-color: transparent;
    border-radius: var(--rounded-full);
    width: var(--sp-1d5);
  }
  
  .banner.with-map .help-list::-webkit-scrollbar-thumb {
    background-clip: padding-box;
    background-color: rgb(var(--color-foreground)/ 0.2);
    border-radius: var(--rounded-full);
  }
}

@media screen and (max-width: 767px) {
  .mobile\:banner--image_first.with-map .help-list {
    max-height: min(60vh, 25rem);
  }

  .mobile\:banner--image_first.with-map .drawer__submenu {
    border: 1px solid rgb(var(--color-border));
    border-radius: var(--rounded-block);
  }

  .mobile\:banner--image_first.with-map .banner__content {
    z-index: auto;
    position: relative;
    padding-block-start: var(--sp-10);
    background: var(--gradient-background);
    background-color: rgb(var(--color-background));
  }

  .js .section--rounded .mobile\:banner--image_first.with-map .banner__content {
    border-start-end-radius: var(--border-radius);
    border-start-start-radius: var(--border-radius);
  }

  .mobile\:banner--image_first.with-map .banner__box {
    width: 100%;
    padding: 0;
    background: none;
    border-radius: 0;
  }

  .mobile\:banner--text_overlay.with-map .banner__box {
    max-height: 100%;
  }
}

.no-js .banner.with-map .banner__media {
  opacity: 1;
}

.no-js .banner.with-map .banner__map {
  display: none;
}

/*! scrolled-images */

.js .scrolled-images {
  height: calc(100% + var(--border-radius));
}

[data-rounded-block=round] .scrolled-images {
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.scrolled-images svg.placeholder {
  background-color: rgb(var(--color-foreground)/ 0.3);
  fill: rgb(var(--color-foreground));
  color: rgb(var(--color-foreground));
}

.scrolled-images__main {
  --tiles-height: 52vw;
  --tileswrap-height: calc(var(--tiles-height)*3.5);
  transform: translate(calc(-50% * var(--transform-logical)), -50%) rotate(calc(50deg * var(--transform-logical)));
  inset-inline-start: 55%;
  height: var(--tileswrap-height);
}

@media screen and (min-width: 768px) {
  .scrolled-images__main {
    --tileswrap-height: calc(var(--tiles-height)*2);
    inset-block-start: 20%;
    inset-inline-start: 60%;
  }
}

@media screen and (min-width: 1024px) {
  .scrolled-images__main {
    --tileswrap-height: calc(var(--tiles-height)*1.8);
    inset-block-start: 50%;
  }
}

.scrolled-images__row {
  display: flex;
}

.scrolled-images__row:first-child {
  opacity: .3;
}

.scrolled-images__row:nth-child(2) {
  opacity: .2;
}

.scrolled-images__row:nth-child(3) {
  opacity: .1;
}

.scrolled-images__item {
  --tile-margin: 1vw;
  background-position: 50% 50%;
  background-size: cover;
  flex: none;
  transform: rotate(calc(-90deg * var(--transform-logical)));
  margin: var(--tile-margin);
  height: calc(var(--tileswrap-height)/4 - var(--tile-margin)*4/2);
  width: calc(var(--tileswrap-height)/4 - var(--tile-margin)*4/2);
}

[data-rounded-block=round] .scrolled-images__item {
  border-radius: 1rem;
}

/*! empty-state */

.empty-state {
  margin-block: var(--sp-12);
}

@media screen and (min-width: 768px) {
  .empty-state {
    margin-block: var(--sp-32);
  }
}

.empty-state p.heading {
  font-size: clamp(var(--sp-5), 1.4063rem + .5vw, var(--sp-8));
}

.empty-state .button {
  margin-inline: auto;
  width: auto;
}

.empty-state .icon-xxxl {
  width: var(--sp-15);
  height: var(--sp-15);
}

.empty-state .icon-xxxs {
  width: var(--sp-3d5);
  height: var(--sp-3d5);
}

/*! card-grid */

.card-grid {
  --card-grid-per-row: 2;
  --card-grid-template: auto-flow dense/repeat(var(--card-grid-per-row), minmax(0, 1fr));
  --card-grid-gap: var(--sp-3);
  grid: var(--card-grid-template);
  gap: var(--card-grid-gap);
}

@media screen and (max-width: 639px) {
  .mobile\:card-grid--1 {
    --card-grid-per-row: 1;
  }

  .collection .mobile\:card-grid--1 .card {
    grid-column: 1/-1;
  }
}

@media screen and (min-width: 768px) {
  .card-grid {
    --card-grid-per-row: 3;
    --card-grid-gap: clamp(var(--sp-4), 1.263vw, var(--sp-6));
  }

  .card-grid--1 {
    --card-grid-per-row: 1
  }

  .card-grid--2 {
    --card-grid-per-row: 2
  }
}

@media screen and (min-width: 1280px) {
  .card-grid--3 {
    --card-grid-per-row: 3
  }

  .card-grid--4,
  .card-grid--5 {
    --card-grid-per-row: 4
  }
}

@media screen and (min-width: 1536px) {
  .card-grid--5 {
    --card-grid-per-row: 5
  }
}

.card-grid .media-card--overlap {
  --color-foreground: 255 255 255;
  --color-overlay: 0 0 0;
  --overlay-opacity: 0.3;
}

.card-grid .media-card__text {
  --tw-translate-x: 0;
}

@media screen and (min-width: 1280px) {
  .collection.with-sidebar :is(.card-grid--4, .card-grid--5) {
    --card-grid-per-row: 3;
  }
}

@media screen and (min-width: 1536px) {
  .collection.with-sidebar .card-grid--5 {
    --card-grid-per-row: 4;
  }
}

/*! card-product */

.product-card {
  --shadow-horizontal-offset: var(--card-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--card-shadow-vertical-offset);
  --shadow-opacity: var(--card-shadow-opacity);
  --border-opacity: var(--card-border-opacity);
  --product-card-quick-view-inset: var(--sp-4);
  background-color: rgb(var(--color-placeholder));
  border-radius: var(--card-radius);
  align-content: flex-start;
  border: var(--card-border-width) solid rgb(var(--color-foreground)/ var(--border-opacity));
  box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) rgb(var(--color-shadow)/ var(--shadow-opacity));
}

.product-card__media :is(.media, .flickity-viewport, .product-card__model, .product-card__secondary) {
  border-start-start-radius: var(--card-radius);
  border-start-end-radius: var(--card-radius);
}

.product-card__media video-media :is(iframe, video) {
  pointer-events: none;
}

.product-card__media video-media .deferred-poster {
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-card__media video-media .deferred-poster .play-button {
  position: static;
}

.product-card__media video-media[playing] .deferred-poster .play-button {
  opacity: 0.7;
}

@media screen and (pointer: fine) {
  .product-card__media video-media[playing] .deferred-poster .play-button {
    opacity: 0;
  }

  .product-card__media:hover video-media[playing] .deferred-poster .play-button {
    opacity: 1;
  }

  .product-card__media video-media>img {
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transition: var(--animation-primary);
    transition-property: opacity, visibility, transform;
  }

  .product-card__media:hover video-media>img {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
  }
}

.product-card__rating {
  backdrop-filter: blur(12px);
  background-color: rgb(var(--color-background)/ 0.75);
  padding: var(--sp-1d5) var(--sp-2d5);
  font-size: clamp(var(--text-2xs), .684vw, var(--text-2sm));
  inset-block-start: var(--sp-3);
  inset-inline-end: var(--sp-3);
}

.product-card__rating .icon {
  color: rgb(var(--color-rating));
  width: var(--sp-3);
  height: var(--sp-3);
}

@media screen and (min-width: 768px) {
  .product-card__rating {
    padding: var(--sp-2d5) var(--sp-4);
    inset-block-start: var(--sp-5);
    inset-inline-end: var(--sp-5);
  }

  .product-card__rating .icon {
    width: var(--sp-3d5);
    height: var(--sp-3d5);
  }
}

.product-card__content {
  --card-content-padding-block: clamp(var(--sp-4), 1.263vw, var(--sp-6)) clamp(var(--sp-4), 2.105vw, var(--sp-10));
  --card-content-padding-inline: clamp(var(--sp-4), 2.105vw, var(--sp-10));
  grid-template-columns: minmax(0, 1fr);
  padding-block: var(--card-content-padding-block);
  padding-inline: var(--card-content-padding-inline);
}

.product-card__top {
  padding-block-end: var(--sp-2)
}

.product-card__top .caption {
  color: rgb(var(--color-foreground)/ 0.6);
  font-size: clamp(var(--text-3xs), .579vw, var(--text-2xs));
}

.product-card__title {
  font-size: var(--font-product-size);
}

.product-card__title,
.horizontal-product__title {
  font-family: var(--font-product-family);
  font-weight: var(--font-product-weight);
  text-transform: var(--font-product-text-transform);
}

.product-card__content.text-center .product-card__details {
  display: grid;
}

.product-card__content.text-center :is(.price, .unit-price, .product-card__bottom) {
  justify-content: center;
}

.product-card__content.text-center .price {
  align-items: center;
  flex-direction: row;
}

.product-card__content.text-center .price__sale {
  place-self: center;
}

.product-card__content.text-right .product-card__details {
  flex-direction: row-reverse;
}

.product-card__content.text-right .product-card__bottom {
  justify-content: flex-end;
}

.product-card__content.text-right .price {
  align-items: flex-start;
}

.product-card__bottom {
  padding-block-start: var(--sp-4);
}

.product-card__bottom .color-swatch {
  --swatch-size: var(--sp-3);
}

.product-card__bottom .swatches--variant .color-swatch {
  --swatch-size: var(--sp-6);
}

@media screen and (min-width: 768px) {
  .product-card__bottom .color-swatch {
    --swatch-size: var(--sp-4)
  }

  .product-card__bottom .swatches--variant .color-swatch {
    --swatch-size: var(--sp-8);
  }
}

.product-card__icons {
  --card-content-padding-inline: clamp(var(--sp-4), 2.105vw, var(--sp-10));
  --card-content-padding-block: clamp(var(--sp-4), 1.263vw, var(--sp-6));
  padding-inline: calc(var(--card-content-padding-inline) / 2);
  padding-block: calc(var(--card-content-padding-block) / 2);
  background-color: rgb(var(--color-background));
  color: rgb(var(--color-foreground));
  overflow-y: hidden;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  scroll-behavior: smooth;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.product-card__icons::-webkit-scrollbar {
  height: 10px;
  width: 10px;
  display: none;
}

.product-card__icon {
  min-width: 40%;
  padding-inline: calc(var(--card-content-padding-inline) / 2);
  border-inline-start: 1px solid rgb(var(--color-border-light));
}

.product-card__icon:first-child {
  border-inline-start: 0;
}

.product-card__icon figure {
  width: var(--sp-4d5);
}

@media screen and (min-width: 768px) {
  .product-card__icons--grid {
    overflow: visible;
  }
  
  .product-card__icons--grid .product-card__icon {
    margin-block: 0;
    padding-block: calc(var(--card-content-padding-block) / 2);
    border-block-start: 1px solid rgb(var(--color-border-light));
  }

  .product-card__icons--grid .product-card__icon:is(:nth-child(1), :nth-child(2)) {
    border-block-start: 0;
  }
  
  .product-card__icons--grid .product-card__icon:nth-child(odd) {
    border-inline-start: 0;
  }

  .product-card__icon {
    margin-block: var(--sp-2);
  }

  .product-card__icon figure {
    width: var(--sp-6);
  }
}

@media screen and (max-width: 639px) {
  .mobile\:card-grid--2 .product-card__icon {
    min-width: 60%;
  }
}

.product-card__spec {
  --card-shadow-radius: 0px;
  border: 1px solid rgb(var(--color-border-light));
  border-radius: var(--card-shadow-radius);
}

[data-rounded-block=round] .product-card__spec {
  --card-shadow-radius: var(--sp-2d5);
}

[data-rounded-block=round] .product-card--card .product-card__spec {
  --card-shadow-radius: var(--card-radius);
}

.product-card--card .product-card__spec {
  border-block-start: 0;
  border-start-start-radius: 0;
  border-start-end-radius: 0;
}

.product-card--standard .product-card__content:has(~ .product-card__spec) {
  padding-block-end: clamp(var(--sp-4), 1.263vw, var(--sp-6));
}

.product-card--standard .product-card__spec {
  margin-block-end: clamp(var(--sp-4), 2.105vw, var(--sp-10));
}

.product-card--standard {
  background-color: transparent;
}

.product-card--standard .product-card__media :is(.media, .flickity-viewport, .product-card__model, .product-card__secondary) {
  border-radius: var(--card-radius);
}

.product-card--standard:not(.product-card--thickness) .product-card__content {
  padding-inline: 0;
}

@media screen and (min-width: 768px) {
  .product-card__carousel>.media {
    position: absolute;
  }

  .product-card__carousel.flickity-enabled .flickity-viewport {
    cursor: unset;
    height: 100% !important;
  }

  .product-card__carousel .flickity-page-dots {
    --tw-translate-y: var(--sp-2);
    --tw-translate-x: -50%;
    position: absolute;
    inset-block-end: calc(var(--sp-3d5) * -1);
    inset-inline-start: 50%;
    visibility: hidden;
    opacity: 0;
    margin: 0;
    border-radius: var(--rounded-full);
    background-color: rgb(var(--color-placeholder));
    transform: translate(calc(var(--tw-translate-x) * var(--transform-logical)), var(--tw-translate-y));
    transition: var(--animation-primary);
    transition-property: opacity, visibility, transform;
    pointer-events: none;
    height: var(--sp-6);
    padding-inline: var(--sp-4);
    width: auto;
  }

  .product-card--standard .product-card__carousel .flickity-page-dots {
    background-color: rgb(var(--color-background));
  }

  .product-card__carousel .flickity-page-dot:first-child {
    display: none;
  }

  .product-card__carousel.without-dots .flickity-page-dots {
    display: none;
  }

  .js .product-card__carousel~img {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  .no-js .product-card__carousel {
    display: none;
  }
}

@media screen and (pointer: fine) {
  .product-card__carousel,
  .product-card__secondary {
    transition: var(--animation-primary);
    transition-property: opacity, visibility;
  }

  .product-card__carousel:hover .flickity-page-dots {
    --tw-translate-y: 0;
    opacity: 1;
    visibility: visible;
  }

  .product-card__media>.media>img,
  .product-card__model>img,
  .product-card__secondary>img {
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  .product-card__media:hover>.media>img,
  .product-card__media:hover .product-card__model>img,
  .product-card__media:hover .product-card__secondary>img {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
  }

  .product-card__media:hover .product-card__secondary {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

@media screen and (max-width: 767px) {
  .product-card__media>.media {
    overflow: hidden;
  }
}

.product-card.no-media {
  align-content: center;
  background-color: rgb(var(--color-placeholder));
}

.product-card.no-media .product-card__content {
  text-align: center;
}

.product-card.no-media .product-card__details {
  display: grid;
  gap: var(--sp-4);
}

.product-card.no-media .price {
  justify-content: center;
  flex-direction: row;
}

.product-card__variants {
  margin-block-start: var(--sp-4);
}

.product-card__variants.without-title .form__label {
  display: none;
}

.product-card__variants .product-card__bottom .swatches--variant .color-swatch {
  --swatch-size: var(--sp-10);
}

.product-card__variants .product-form:has(> .variant-picker) {
  border-block-start: 1px solid rgb(var(--color-border));
}

.product-card__content.text-center .product-card__variants .product-form:has(> .variant-picker) {
  border-block-start: 0;
}

.product-card__variants .variant-picker {
  padding-block: var(--sp-4);
  padding-inline: var(--card-content-padding-inline);
  margin-inline: calc(var(--card-content-padding-inline) * -1);
}

.product-card__content.text-center .product-card__variants .variant-picker {
  margin: 0;
  padding: var(--sp-4);
  border: 1px solid rgb(var(--color-border));
}

[data-rounded-card=round] .product-card__content.text-center .product-card__variants .variant-picker {
  border-radius: var(--sp-2d5);
}

@media screen and (min-width: 768px) {
  .product-card__content.text-center .product-card__variants .variant-picker {
    padding-inline: var(--sp-6);
  }
}

.product-card__content .product-card__variants .product-card__bottom {
  justify-content: flex-start;
}

.product-card__variants .product-card__bottom {
  margin: calc(var(--sp-2d5) * -1);
  padding-block: 0;
}

.product-card__variants .scroll-area {
  grid-auto-flow: column;
  overflow-x: scroll;
  white-space: nowrap;
  padding: var(--sp-2d5);
}

.product-card__variants .product-form__submit {
  min-height: 3.125rem;
  padding-block: var(--sp-4);
  margin-block-start: auto;
}

/*! product-promotion */

.product-card--promo {
  grid-column: span 2;
}

.product-card--promo .product-card__media {
  border-radius: var(--card-radius);
}

.product-card--promo .product-card__media::after {
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgb(var(--color-overlay)/ var(--overlay-opacity));
  border-radius: var(--card-radius);
}

.product-card--promo .product-card__content {
  --card-content-padding-block: clamp(var(--sp-6), 2.105vw, var(--sp-10));
  --card-content-padding-inline: clamp(var(--sp-6), 2.105vw, var(--sp-10));
}

@media screen and (min-width: 768px) {
  .product-card--promo {
    grid-column: span var(--card-column-size);
    grid-row: span var(--card-row-size);
    --card-content-padding-block: clamp(var(--sp-6), 2.105vw, var(--sp-10)) var(--sp-20);
    --card-content-padding-inline: clamp(var(--sp-6), 2.105vw, var(--sp-10)) var(--sp-20);
  }

  .product-card--promo .product-card__media {
    position: absolute;
  }

  .product-card--promo .product-card__media .media>:is(img, svg) {
    inset: 0;
    position: absolute;
    max-width: 100%;
    width: 100%;
    height: 100%;
  }

  .product-card--promo .product-card__media.without-content {
    position: relative;
    min-height: 200px;
  }

  .product-card--promo .product-card__content {
    position: relative;
  }
}

.promo-box>*+* {
  margin-block-start: var(--sp-8);
}

@media screen and (min-width: 1280px) {
  .promo-title {
    font-size: calc(var(--fluid-2xl-to-4xl) * var(--card-column-size));
  }

  .promo-title.marquee {
    font-size: inherit;
  }

  .promo-box {
    max-width: min(100%, calc(100% / var(--card-column-size) * 1.5));
  }

  .product-card--promo .product-card__content {
    padding-block: max(calc(var(--card-content-padding-block) * var(--card-column-size) * 0.75), var(--card-content-padding-block));
    padding-inline: max(calc(var(--card-content-padding-inline) * var(--card-column-size) * 0.5), var(--card-content-padding-inline));
  }
}

.promo-subtitle,
.promo-title,
.promo-content {
  color: rgb(var(--color-foreground));
}

.promo-img {
  max-width: 30px;
}

@media screen and (min-width: 768px) {
  .promo-img {
    max-width: 40px;
  }
}

.promo-box .subtext-lg~.subtext-lg {
  font-size: calc(var(--fluid-base-to-xl) - 2px);
}

.promo-box .subtext-md~.subtext-md {
  font-size: calc(clamp(var(--text-base), 1.052vw, var(--text-xl)) - 2px);
}

@media screen and (min-width: 768px) {
  .promo-box--lg>*+* {
    margin-block-start: var(--sp-32);
  }
}

/*! countdown-timer */

.product-card__countdown {
  --countdown-gap: var(--sp-3);
  inset-inline-end: 0;
  inset-block-end: var(--sp-7);
  transform: translate(var(--tw-translate-x), var(--tw-translate-y));
}

.product-card__countdown .button {
  --color-button-background: var(--color-sale-tag);
  --color-button-text: var(--color-sale-tag-text);
  --buttons-border-width: 0px;
  width: auto;
  height: auto;
  padding-block: clamp(var(--sp-3), 0.842vw, var(--sp-4));
  padding-inline: clamp(var(--sp-5d5), 1.368vw, var(--sp-6d5));
}

.product-card__countdown .countdown__item p::after {
  font-size: inherit;
  color: inherit;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  @media screen and (pointer: fine) {
    .product-card__countdown {
      --tw-translate-y: 0;
      transition: var(--animation-primary);
      transition-property: opacity, transform;
    }

    .product-card:hover .quick-add~.product-card__countdown {
      --tw-translate-y: var(--sp-2);
      opacity: 0;
    }
  }
}

@media screen and (max-width: 767px) {
  .product-card__countdown {
    inset-block-end: var(--sp-3);
  }

  .quick-add ~ .product-card__countdown {
    padding-inline-start: var(--sp-3);
    padding-inline-end: var(--sp-16);
  }

  .quick-add ~ .product-card__countdown .button {
    width: 100%;
  }
}

@media screen and (max-width: 639px) {
  .mobile\:card-grid--1 .product-card__countdown {
    display: flex;
  }
}

/*! quick-add */

.quick-add {
  inset-inline-end: 0;
  inset-block-end: var(--sp-7);
  transform: translate(var(--tw-translate-x), var(--tw-translate-y));
}

.quick-add .button {
  width: auto;
  height: auto;
  padding-block: clamp(var(--sp-3), 0.842vw, var(--sp-4));
  padding-inline: clamp(var(--sp-5d5), 1.368vw, var(--sp-6d5));
}

.quick-add .button:focus-visible {
  opacity: 1;
}

.quick-add .button .icon {
  width: var(--sp-4d5);
  height: var(--sp-4d5);
}

.quick-add .button[aria-disabled] {
  cursor: progress;
}

.quick-add .button[disabled] {
  background-color: rgb(var(--color-button-text));
}

.quick-add .buttons {
  padding-inline: clamp(var(--sp-4), 2.105vw, var(--sp-10));
}

.quick-add .buttons .button {
  --buttons-radius: calc(var(--rounded-button) - 2px);
  width: auto;
  font-size: var(--text-sm);
  padding: clamp(var(--sp-2), .526vw, var(--sp-2d5)) clamp(var(--sp-5), .842vw, var(--sp-5d5));
}

.button.loading::before {
  content: '';
  z-index: 1;
  position: absolute;
  width: min(50px, 34%);
  height: 2px;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  margin-block-start: -1px;
  margin-inline-start: max(-25px, -17%);
  background-color: rgb(var(--color-button-text));
  animation: preloading 1.2s infinite ease;
}

.button.loading .btn-text {
  opacity: 0;
}

@media screen and (min-width: 768px) {
  .quick-add .button.md\:hidden {
    display: none;
  }
  
  @media screen and (pointer: fine) {
    .quick-add {
      --tw-translate-y: var(--sp-2);
      transition: var(--animation-primary);
      transition-property: opacity, transform;
    }

    .quick-add .buttons {
      transition: opacity var(--animation-fast);
    }

    .product-card:hover .quick-add {
      --tw-translate-y: 0;
    }

    .product-card:hover .quick-add :is(.buttons, .button) {
      opacity: 1;
    }
  }
}

@media screen and (max-width: 767px) {
  .quick-add {
    inset-inline-end: 0;
    inset-block-end: 0;
    padding-inline: var(--sp-3);
    padding-block-end: var(--sp-3);
  }

  .quick-add .btn-loader {
    gap: var(--sp-1d5);
  }

  .quick-add .btn-loader span {
    width: 4px;
    height: 4px;
  }

  .quick-add .button {
    height: var(--sp-10);
  }

  .quick-add .button:not([disabled]) {
    padding: 0;
    width: var(--sp-10);
  }
}

/*! quick-view */

.quick-view {
  --color-modal-background: var(--color-drawer-background);
}

.no-js .quick-view__button {
  display: none;
}

.quick-view__button {
  --shadow-opacity: 0;
  --border-opacity: 0.1;
  --buttons-border-width: 1px;
  padding: 0;
  height: var(--sp-12);
  width: var(--sp-12);
  background-color: rgb(var(--color-button-text));
  position: absolute;
  inset-block-start: var(--sp-4);
  inset-inline-end: var(--sp-4);
}

@media screen and (pointer: fine) {
  .product-card:hover .quick-view__button {
    opacity: 1;
  }

  .quick-view__button~.product-card__rating {
    transition: opacity var(--animation-fast);
  }

  .js .product-card:hover .quick-view__button~.product-card__rating {
    opacity: 0;
  }
}

.quick-view__button:focus-visible {
  opacity: 1;
}

.quick-view__button:focus-visible~.product-card__rating {
  opacity: 0;
}

.quick-view__button+.quick-view {
  display: none !important;
}

.quick-view__content {
  height: 48rem;
}

.quick-view__content:empty {
  z-index: 1;
  position: relative;
  display: block;
  background-color: rgb(var(--color-background));
}

.quick-view__content:empty::before,
.quick-view__content:empty::after {
  content: '';
  display: block;
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  margin-block-start: -1.5px;
  margin-inline-start: max(-30px, -20%);
  width: min(60px, 40%);
  height: 3px;
  background-color: rgb(var(--color-foreground));
}

.quick-view__content:empty::before {
  background-color: rgb(var(--color-border));
}

.quick-view__content:empty::after {
  animation: preloading 1.2s infinite ease;
}

.quick-view .drawer__header {
  border-block-end: 0;
  padding-block-end: var(--sp-2);
}

.quick-view .drawer__close {
  position: absolute;
  inset-block-start: var(--sp-7);
  inset-inline-end: var(--sp-7);
  transition: opacity var(--animation-primary);
  transition-delay: 0.6s;
}

.quick-view[active] .drawer__close {
  opacity: 1;
}

.quick-view .product__media-container .slider {
  border-radius: 0;
}

.quick-view .product__media-container .slider.magnify {
  z-index: 1;
}

.quick-view .product__media {
  border-radius: 0;
}

.quick-view .product__media>img {
  height: 100%;
}

.quick-view .product__thumbnails-list {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
}

.quick-view button.product__thumbnail:not([hidden]) {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--sp-6);
  height: var(--sp-6);
  border-radius: var(--rounded-full);
  transition: box-shadow var(--animation-primary);
  background-color: transparent;
}

.quick-view button.product__thumbnail[aria-current]::before {
  content: '';
  display: block;
  width: 5px;
  height: 5px;
  margin: 0;
  inset: unset;
  background-color: rgb(var(--color-foreground));
  border-radius: var(--rounded-full);
  transition: var(--animation-primary);
  transition-property: background-color, box-shadow;
}

.quick-view button.product__thumbnail[aria-current=true]::before {
  width: 5px;
  height: 5px;
  background-color: transparent;
  box-shadow: 0 0 0 2px rgb(var(--color-foreground));
}

.quick-view button.product__thumbnail[aria-current]::after {
  content: none;
}

.quick-view button.product__thumbnail img {
  visibility: hidden;
  position: absolute;
}

.quick-view button.product__thumbnail .play-button {
  clip: rect(0,0,0,0);
  border-width: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.quick-view .product__more:focus-visible {
  outline-offset: -3px;
}

@media screen and (max-width: 1023px) {
  .quick-view .product__info {
    padding-inline: var(--page-padding);
  }

  .quick-view [data-shopify-xr] {
    margin-inline: auto;
    max-width: calc(100% - calc(2 * var(--page-padding)));
  }
}

@media screen and (max-width: 639px) {
  .js .quick-view .drawer__close {
    inset-block-start: 0;
    inset-inline-end: 0;
  }

  .js [data-modal-swipe-only] .quick-view .drawer__close {
    opacity: 0;
  }
}

@media screen and (min-width: 640px) {
  .quick-view .drawer__inner {
    max-width: 80rem;
  }

  .quick-view .drawer__header {
    padding: 0;
  }
}

@media screen and (min-width: 1024px) {
  .quick-view .product {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0;
  }

  .quick-view__content {
    overflow: hidden;
  }

  .quick-view .product,
  .quick-view .product__content,
  .quick-view .product__info,
  .quick-view .product__gallery,
  .quick-view .product__media-container,
  .quick-view .product__media-list,
  .quick-view .product__media {
    height: 100%;
  }

  .quick-view .product__content {
    max-height: 90vh;
  }

  .quick-view .product__media-list {
    position: absolute;
    inset: 0;
  }

  .quick-view .product__thumbnails-list {
    position: absolute;
    inset-block-end: var(--sp-7);
    inset-inline-start: 50%;
    height: var(--sp-8);
    width: auto;
    margin-block-start: 0;
    padding-inline: var(--sp-4);
    border-radius: var(--rounded-full);
    background-color: rgb(var(--color-background));
    border: 1px solid rgb(var(--color-border-light));
    transform: translateX(calc(-50% * var(--transform-logical)));
  }

  .quick-view .product__gallery {
    border-inline-end: 1px solid rgb(var(--color-border-light));
  }

  .quick-view .product__info.with-read-more {
    padding-block-end: calc(var(--sp-8) + var(--sp-4) + var(--sp-6) * 2);
  }

  .quick-view .product__info {
    scroll-behavior: smooth;
    scroll-snap-type: y mandatory;
    scrollbar-color: auto;
    scrollbar-width: thin;
    overflow-x: hidden;
    overflow-y: auto;
    padding-block: var(--sp-8);
    padding-inline: var(--grid-gap);
  }

  .quick-view .product__info::-webkit-scrollbar {
    -webkit-appearance: none;
    background-clip: padding-box;
    background-color: transparent;
    border-radius: var(--rounded-full);
    width: var(--sp-1d5)
  }

  .quick-view .product__info::-webkit-scrollbar-thumb {
    background-clip: padding-box;
    background-color: rgb(var(--color-foreground)/ 0.2);
    border-radius: var(--rounded-full)
  }

  .quick-view .product__more {
    padding-block: var(--sp-6);
    padding-inline: var(--grid-gap);
    border-block-start: 1px solid rgb(var(--color-border-light));
    background-color: rgb(var(--color-background)/ 0.7);
    backdrop-filter: blur(12px);
  }
}


@media screen and (min-width: 1280px) {
  .quick-view .product {
    --product-grid: auto / minmax(0, 1fr) minmax(0, 1fr);
  }
}

@media screen and (min-width: 1536px) {
  .quick-view .product__info {
    padding-block: var(--sp-11);
  }
}

/*! badge */

.badges {
  --badge-padding: clamp(var(--sp-6), 2.105vw, var(--sp-10));
  inset-block-start: var(--sp-3);
  inset-inline-start: var(--sp-3);
}

@media screen and (min-width: 768px) {
  .badges {
    inset-block-start: var(--sp-5);
    inset-inline-start: var(--sp-5);
  }
}

.badge {
  --badge-background: rgb(var(--color-foreground));
  --badge-foreground: rgb(var(--color-background));
  background-color: var(--badge-background);
  color: var(--badge-foreground);
  padding: var(--sp-1d5) var(--sp-2d5);
  font-size: var(--text-2xs);
  border-radius: var(--rounded-button);
  width: max-content;
}

.badge--vertical {
  transform: rotate(-180deg);
  writing-mode: vertical-rl;
}

@media screen and (min-width: 768px) {
  .badge {
    padding: var(--sp-2d5) var(--sp-4);
    font-size: var(--text-sm);
  }

  .badge--vertical {
    padding: var(--sp-4) var(--sp-2d5);
  }

  .discounts .badge {
    padding-block: var(--sp-2);
  }
}

.badge.badge--onsale {
  --badge-background: rgb(var(--color-sale-tag));
  --badge-foreground: rgb(var(--color-sale-tag-text));
}

.badge.badge--highlight {
  --badge-background: rgb(var(--color-sale-tag)/ 0.1);
  --badge-foreground: rgb(var(--color-sale-tag));
}

.badge.badge--soldout {
  --badge-background: rgb(var(--color-foreground)/ 0.3);
  --badge-foreground: rgb(var(--color-background));
}

/*! price */

.price__regular {
  color: rgb(var(--color-price));
  font-size: var(--fluid-sm-to-base);
}

.price__regular small {
  font-weight: 400;
}

.price--on-sale .price__regular {
  color: rgb(var(--color-sale-price));
  font-weight: var(--font-medium);
}

.unit-price,
.price__sale {
  color: rgb(var(--color-price)/ 0.6);
  font-size: var(--fluid-xs-to-sm);
}

.price__sale::before {
  content: '';
  position: absolute;
  inset-block-start: 50%;
  width: 100%;
  transform: rotate(-15deg);
  border-block-end: 1px solid red;
}

/*! pagination */

.pagination .page {
  height: var(--sp-10);
  width: var(--sp-10);
}

@media screen and (min-width: 768px) {
  .pagination .page {
    height: var(--sp-12);
    width: var(--sp-12);
  }
}

.pagination .page.current {
  background-color: rgb(var(--color-foreground));
  color: rgb(var(--color-background));
}

/*! active-facets */

.active-facets {
  margin-block-end: var(--sp-7);
}

@media screen and (min-width: 1280px) {
  .active-facets {
    margin-block-end: 0;
    margin-block-start: clamp(var(--sp-4), 1.684vw, var(--sp-8))
  }
}

.active-facets .color-swatch {
  --swatch-radius: 9999px;
  --swatch-size: var(--sp-3);
  --swatch-offset: 1.5px
}

@media screen and (min-width: 1280px) {
  .active-facets .color-swatch {
    --swatch-offset: 2px;
    --swatch-size: var(--sp-4)
  }
}

.active-facets .color-swatch::before {
  --tw-shadow: inset 1px 2px 0px rgb(var(--color-foreground)/ 0.115);
}

.active-facets>.facet-clear-all {
  margin-inline-start: var(--sp-2)
}

@media screen and (min-width: 1024px) {
  .active-facets>.facet-clear-all {
    margin-inline-start: var(--sp-4)
  }
}

.removable-facet {
  background-color: rgb(var(--color-foreground)/ 0.025);
  color: rgb(var(--color-foreground));
  padding: var(--sp-3) var(--sp-3d5);
  border-radius: var(--rounded-button);
}

@media screen and (min-width: 768px) {
  .removable-facet {
    padding: var(--sp-3) var(--sp-4d5)
  }
}

@media screen and (min-width: 1024px) {
  .removable-facet {
    line-height: 1.6
  }
}

@media screen and (min-width: 1280px) {
  .removable-facet {
    padding: var(--sp-3d5) var(--sp-5)
  }
}

.removable-facet>a::before,
.removable-facet>button::before {
  content: '';
  position: absolute;
  inset: calc(var(--sp-2d5) * -1);
}

.removable-facet .icon {
  width: var(--sp-2);
  height: var(--sp-2);
}

.removable-facet>button .icon:first-child {
  transition: opacity var(--animation-fast);
}

.removable-facet>button .icon+.icon {
  width: var(--sp-3);
  height: var(--sp-3);
  transition: var(--animation-fast);
  transition-property: opacity, visibility;
}

.removable-facet>button[loading] .icon {
  opacity: 0;
}

.removable-facet>button[loading] .icon+.icon {
  opacity: 1;
  visibility: visible;
  transition-delay: 0.1s;
}

@media screen and (min-width: 1024px) {
  .removable-facet .icon {
    width: var(--sp-2d5);
    height: var(--sp-2d5);
  }

  .removable-facet>button .icon+.icon {
    width: var(--sp-4);
    height: var(--sp-4);
  }
}

/*! multicolumn */

.multicolumn {
  --card-grid-gap: var(--sp-10) var(--sp-4);
}

@media screen and (min-width: 768px) and (max-width: 1279px) {
  .multicolumn.with-4.card-grid--4 {
    --card-grid-per-row: 2;
  }
}

@media screen and (min-width: 640px) and (max-width: 1023px) {
  .slider--tablet .multicolumn.with-2 {
    --slider-grid: var(--card-grid-template);
  }
}

.multicolumn .media {
  border-radius: var(--rounded-block);
}

@media screen and (pointer: fine) {
  .multicolumn .media[href] img {
    transform: scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  .multicolumn .media[href]:hover img {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
  }
}

.multicolumn-card.with-border {
  border-radius: var(--rounded-block);
  border: 1px solid rgb(var(--color-border-light));
}

.multicolumn-card.with-border .multicolumn-card__info {
  padding-inline: var(--sp-5);
  padding-block: var(--sp-2) var(--sp-6);
}

@media screen and (min-width: 1024px) {
  .multicolumn-card.with-border .multicolumn-card__info {
    padding-inline: var(--sp-8d5);
    padding-block: var(--sp-5) var(--sp-11);
  }
}

/*! multicolumn-with-icons */

.text-with-icons::after {
  content: 'flickity';
  display: none;
}

.column__icon.with-svg :is(svg, img) {
  display: inline-block;
  width: var(--sp-6);
  height: auto;
  fill: currentColor;
}

.column__title {
  font-size: clamp(var(--text-lg), 1.053vw, var(--text-xl));
}

.column__text {
  font-size: clamp(var(--text-2sm), .737vw, var(--text-sm));
}

.column__title+.column__text {
  padding-block-start: var(--sp-2);
}

.text-with-icons+* {
  margin-block-start: var(--sp-10);
}

.text-with-icons.with-background .column {
  padding: clamp(var(--sp-5), 2.105vw, var(--sp-10));
  background-color: rgb(var(--color-foreground)/ 0.04);
}

[data-rounded-block=round] .text-with-icons.with-background .column {
  border-radius: var(--border-radius-small);
}

@media screen and (min-width: 1024px) {
  .text-with-icons::after {
    content: none;
  }

  .text-with-icons {
    --multicolumn-template: repeat(4, minmax(0, 1fr));
    grid-template-columns: var(--multicolumn-template);
    row-gap: clamp(var(--sp-5), 2.105vw, var(--sp-10));
  }

  .text-with-icons.with-background {
    column-gap: var(--sp-4);
  }

  .text-with-icons.grid--2 {
    --multicolumn-template: repeat(2, minmax(0, 1fr));
  }

  .text-with-icons.grid--3 {
    --multicolumn-template: repeat(3, minmax(0, 1fr));
  }

  .text-with-icons .column {
    padding-inline: clamp(var(--sp-5), 2.105vw, var(--sp-10));
  }

  .text-with-icons.with-border .column:first-child {
    padding-inline-start: 0;
  }

  .text-with-icons.with-border .column:last-child {
    padding-inline-end: 0;
  }

  .text-with-icons.with-border .column+.column {
    border-inline-start: 1px solid rgb(var(--color-border));
  }

  .text-with-icons.with-border.grid--2 .column:nth-child(2n + 1),
  .text-with-icons.with-border.grid--3 .column:nth-child(3n + 1),
  .text-with-icons.with-border.grid--4 .column:nth-child(4n + 1) {
    padding-inline-start: 0;
    border-inline-start: 0;
  }
}

@media screen and (min-width: 1280px) {
  .text-with-icons .column.xl\:text-right {
    flex-direction: row-reverse;
  }

  .text-with-icons .column.xl\:text-center {
    flex-direction: column;
  }
}

@keyframes preloading {

  0%,
  44%,
  88.1%,
  to {
    transform-origin: var(--transform-origin-start)
  }

  0%,
  to,
  88% {
    transform: scaleX(0)
  }

  44.1%,
  88% {
    transform-origin: var(--transform-origin-end)
  }

  33%,
  44% {
    transform: scaleX(1)
  }
}

[data-lazy-image] .media.loading::before,
[data-lazy-image] .media.loading::after {
  content: '';
  z-index: 1;
  position: absolute;
  width: min(50px, 34%);
  height: 2px;
  box-shadow: none;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  margin-block-start: -1px;
  margin-inline-start: max(-25px, -17%);
  background-color: rgb(var(--color-base-text));
}

[data-lazy-image] .media.loading::before {
  background-color: rgb(var(--color-base-background));
}

[data-lazy-image] .media.loading::after {
  animation: preloading 1.2s infinite ease;
}

[data-lazy-image] .media.loading>img {
  opacity: 0;
}

/*! shopify-challenge, shopify-policy */

.main-content .shopify-challenge__container,
.main-content .shopify-policy__container {
  margin: 0 auto;
  max-width: var(--page-width);
  padding-inline: var(--page-padding);
}

.shopify-challenge__container,
.shopify-policy__container {
  display: flex;
  flex-direction: column;
  gap: var(--sp-8);
  padding-block: var(--sp-16);
}

.shopify-challenge__message {
  font-size: var(--text-lg);
  line-height: 1.6
}

.shopify-challenge__container form {
  display: flex;
  flex-direction: column;
  gap: var(--sp-5);
}

.shopify-challenge__button {
  min-width: var(--sp-48);
}

@media screen and (min-width: 1024px) {
  .main-content .shopify-challenge__container,
  .main-content .shopify-policy__container {
    --page-padding: var(--sp-12);
    max-width: 70rem;
    padding-block: var(--sp-28);
  }

  .shopify-challenge__message {
    font-size: var(--text-2xl);
  }
}

.shopify-policy__body .rte a,
.shopify-policy__body .rte span[href] {
  word-break: break-word;
}

/*! alert */

.alert {
  padding: var(--sp-5);
}

[data-rounded-block=round] .alert {
  border-radius: var(--inputs-radius);
}

.alert--success {
  color: rgb(var(--color-success-text));
  background-color: rgb(var(--color-success-background));
}

.alert--error {
  color: rgb(var(--color-error-text));
  background-color: rgb(var(--color-error-background));
}

.alert--info {
  color: rgb(var(--color-info-text));
  background-color: rgb(var(--color-info-background));
}

.alert--transparent {
  padding: 0;
  background-color: transparent;
}

/*! 404 */

.page-404 {
  gap: var(--sp-23);
}

.page-404 .text-lg {
  line-height: 1.4;
}

.page-404 .button-group {
  max-width: 38rem;
  margin: 0 auto;
  width: 100%;
  padding-inline: var(--gap-padding);
}

@media screen and (min-width: 768px) {
  .page-404 {
    gap: var(--sp-14);
  }

  .page-404 .button-group .button {
    min-height: 3.75rem;
  }
}

/*! rich-text */

.rich-text>*+*:not(.spacing-section) {
  margin-block-start: var(--sp-5);
}

.rich-text>:is(.link, .button) {
  margin-inline-end: var(--sp-4);
}

/*! contact-form */

.contact,
.contact.with-map>.flex {
  gap: var(--grid-gap);
}

.contact__fields .field {
  flex-grow: 1;
  flex-shrink: 0;
  width: 100%;
}

.contact__sidebar .subtitle {
  color: rgb(var(--color-foreground)/ 0.5);
}

.contact__sidebar .media {
  background-color: transparent;
}

.contact__sidebar .media img {
  max-width: calc(var(--image-width) * 0.75);
  max-height: calc(var(--image-height) * 0.75);
}

@media screen and (min-width: 1024px) {
  .contact__sidebar .media img {
    max-width: var(--image-width);
    max-height: var(--image-height);
  }
}

.contact.with-map .contact__sidebar>.flex {
  padding: var(--sp-7d5) var(--sp-6);
  border: 1px solid rgb(var(--color-border));
}

[data-rounded-block=round] .contact.with-map .contact__sidebar>.flex {
  border-radius: var(--border-radius-small);
}

@media screen and (min-width: 768px) {
  .page-width--narrow .contact__sidebar {
    column-gap: var(--sp-6);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact__fields .field {
    width: calc(50% - var(--sp-6) / 2);
  }

  .contact__fields .field--full {
    width: 100%;
  }
}

@media screen and (min-width: 1024px) {
  .page-width--narrow .contact {
    flex-direction: column;
  }

  .page-width--narrow .contact__sidebar {
    width: 100%;
  }

  .contact__sidebar {
    width: clamp(340px, 25vw, 430px);
  }

  .contact.with-map .contact__sidebar {
    width: 100%;
    grid: auto-flow dense/repeat(4, minmax(0, 1fr));
  }

  .contact.with-map .banner {
    height: 100%;
  }
}

@media screen and (min-width: 1280px) {
  .contact.with-map .contact__sidebar>.flex {
    padding: var(--sp-10);
  }
}

.contact.with-map .banner {
  border-radius: var(--rounded-block);
}

.contact.with-map .banner :is(.banner__map, .banner__media) {
  height: 100%;
}

/*! faq */

.faqs.with-border {
  gap: var(--grid-gap);
}

.faqs.with-border .faq {
  padding: clamp(var(--sp-6), 2.315vw, var(--sp-12)) var(--sp-5);
  border: 1px solid rgb(var(--color-border));
  border-radius: var(--rounded-block);
}

@media screen and (min-width: 1536px) {
  .faq .details__summary .text-base {
    font-size: 1.375rem;
  }
}

.accordions {
  border-block: 1px solid rgb(var(--color-border));
}

.accordion+.accordion {
  border-block-start: 1px solid rgb(var(--color-border));
}

.accordion--text {
  padding-block: var(--sp-10);
}

.accordion .details .details__content {
  padding-block-end: var(--sp-8);
  margin-block-start: calc(var(--sp-2d5) * -1);
}

.accordion .details .details__summary {
  padding-block: var(--sp-7);
}

.accordion .details .details__summary>.icon {
  width: var(--sp-3);
  height: var(--sp-3);
}

.accordion .details[aria-expanded=true] .details__summary>.icon {
  --tw-scale-y: -1;
  --tw-rotate: 45deg;
}

@media screen and (min-width: 1024px) {
  .faqs.with-border .faq {
    padding-inline: var(--sp-12);
  }

  .accordion .details__content {
    max-width: 80%;
  }

  .accordion .details .details__summary {
    padding-block: var(--sp-8);
  }

  .accordion .details .details__summary>.icon {
    width: var(--sp-3d5);
    height: var(--sp-3d5);
  }
}

.accordion--text:first-child {
  padding-block-start: var(--sp-2);
}

.faqs.with-background {
  color: rgb(var(--color-foreground));
  background: var(--gradient-background);
  background-color: rgb(var(--color-background));
  border-radius: var(--rounded-block);
}

.faqs.with-background>:is(div, form) {
  padding: var(--sp-10);
}

.faqs.with-background>form {
  background-color: rgb(var(--color-overlay)/ var(--overlay-opacity));
  border-end-start-radius: var(--rounded-block);
  border-end-end-radius: var(--rounded-block);
}

@media screen and (min-width: 1024px) {
  .faqs.with-background>form {
    border-end-start-radius: 0;
    border-end-end-radius: var(--rounded-block);
    border-start-end-radius: var(--rounded-block);
  }
}

.faqs.with-background>form :is(.input, .textarea) {
  background-color: color-mix(in srgb, rgb(var(--color-foreground)) 4%, rgb(var(--color-background)) 12%);
}

@media screen and (pointer: fine) {
  .faqs.with-background>form :is(.input, .textarea):focus {
    background-color: color-mix(in srgb, rgb(var(--color-foreground)) 4%, rgb(var(--color-background)) 15%);
  }
}

.faqs.with-background .title-wrapper {
  margin-block-end: 0;
}

.faqs.with-background .title-wrapper .rte {
  padding: var(--sp-4) var(--sp-5);
  color: rgb(var(--color-foreground)/ 0.6);
  background-color: rgb(var(--color-foreground)/ 0.04);
}

[data-rounded-block=round] .faqs.with-background .title-wrapper .rte {
  border-radius: var(--sp-2d5);
}

.faqs.with-background .title-wrapper .rte a {
  color: rgb(var(--color-foreground));
}

.faqs .contact__sidebar>.flex {
  flex-direction: column;
  align-items: flex-start;
}

@media screen and (min-width: 640px) {
  .faqs .contact__sidebar>.flex {
    flex-direction: row;
    align-items: flex-end;
  }
}

@media screen and (min-width: 1024px) {
  .faqs .contact__sidebar>.flex {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media screen and (min-width: 1280px) {
  .faqs.with-background .title-wrapper {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
  }

  .faqs.with-background .title-wrapper.md\:items-center {
    flex-direction: column;
    align-items: center;
  }

  .faqs.with-background .title-wrapper .rte {
    padding: var(--sp-5) var(--sp-7d5);
  }

  .faqs.with-background>:is(div, form) {
    padding: var(--sp-14);
  }
}

@media screen and (min-width: 1536px) {
  .faqs.with-background>:is(div, form) {
    padding: clamp(var(--sp-20), 6.737vw, var(--sp-32));
  }

  .faqs .contact__sidebar>.flex {
    flex-direction: row;
    align-items: flex-end;
  }
}

/*! share-buttons */

@media screen and (max-width: 639px) {
  .js .share-drawer .drawer__inner {
    height: auto;
  }

  .js .quick-view .share-drawer .drawer__inner {
    height: 0;
  }
}

.share-buttons li+li {
  border-block-start: 1px solid rgb(var(--color-border));
}

.share-buttons a {
  padding: var(--sp-3d5) var(--sp-2d5);
}

.share-buttons li:first-child a {
  padding-block-start: 0;
}

.share-buttons li:last-child a {
  padding-block-end: 0;
}

.share-buttons .icon-facebook {
  fill: #3B5998;
}

.share-buttons .icon-twitter {
  fill: #00ACEE;
}

.share-buttons .icon-pinterest {
  fill: #E60023;
}

.share-buttons .icon-telegram {
  fill: #3390F7;
}

.share-buttons .icon-whatsapp {
  fill: #25d366;
}

/*! slider-element */

.slider {
  --slider-padding: var(--page-padding);
  --slider-container: var(--page-container);
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.slider::-webkit-scrollbar {
  height: 10px;
  width: 10px;
  display: none;
}

.no-js .slider {
  -ms-overflow-style: auto;
  scrollbar-width: auto;
}

.no-js .slider::-webkit-scrollbar {
  display: initial;
}

@media screen and (max-width: 1023px) {
  .slider--tablet {
    overflow-y: hidden;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    padding-inline: var(--slider-padding);
    margin-inline: calc(var(--slider-padding) * -1);
    scroll-padding-inline: var(--slider-padding);
    padding-block-end: var(--card-shadow-vertical-offset);
  }

  .slider--tablet .card-grid {
    --slider-item-width: 36vw;
    --slider-grid: auto / auto-flow var(--slider-item-width);
    grid: var(--slider-grid);
  }
}

@media screen and (max-width: 639px) {
  .slider--tablet .mobile\:card-grid--1 {
    --slider-item-width: 74vw;
  }
}

@media screen and (min-width: 1024px) {
  .slider--desktop {
    overflow-y: hidden;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    padding-inline: var(--slider-padding);
    margin-inline: calc(var(--slider-padding) * -1);
    scroll-padding-inline: var(--slider-padding);
    padding-block-end: var(--card-shadow-vertical-offset);
  }

  .slider--desktop .card-grid {
    --slider-item-width: calc(calc(var(--slider-container) / var(--card-grid-per-row)) - var(--card-grid-gap) * calc(var(--card-grid-per-row) - 1) / var(--card-grid-per-row));
    --slider-grid: auto / auto-flow var(--slider-item-width);
    grid: var(--slider-grid);
  }
}

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

.slider .card {
  scroll-snap-align: start;
}

.slider + :is(p, .indicators) {
  text-align: center;
  justify-content: center;
  margin-block-start: clamp(var(--sp-8), 2.526vw, var(--sp-12));
}

/*! main-product */

.product-title-sm {
  font-size: clamp(var(--text-xl), .4966rem + 1.1818vw, var(--text-3xl));
}

.product-title-md {
  font-size: clamp(var(--sp-10), 2.526vw, var(--sp-12));
}

.product-title-lg {
  font-size: clamp(var(--sp-8), 3.368vw, var(--sp-16));
}

@media screen and (max-width: 767px) {
  .mobile\:product-title-sm,
  .mobile\:product-title-sm .word,
  .mobile\:product-title-md,
  .mobile\:product-title-md .word,
  .mobile\:product-title-lg,
  .mobile\:product-title-lg .word {
    line-height: 1.25;
  }

  .mobile\:product-title-sm {
    font-size: var(--text-h3);
  }
  
  .mobile\:product-title-md {
    font-size: var(--text-h2);
  }
  
  .mobile\:product-title-lg {
    font-size: var(--text-h1);
  }
}

.rating .icon {
  fill: rgb(var(--color-rating));
}

.rating-star {
  --percent: calc((var(--rating) / var(--rating-max) + var(--rating-decimal) * var(--font-size) / (var(--rating-max) * (var(--letter-spacing) + var(--font-size)))) * 100%);
  --letter-spacing: 0;
  --font-size: 2;
}

.rating-star::before {
  content: "\2605\2605\2605\2605\2605";
  background: linear-gradient(calc(90deg * var(--transform-logical)), rgb(var(--color-rating)) var(--percent), rgb(var(--color-foreground)/ 0.15) var(--percent));
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}

.rating-count {
  padding-inline-start: var(--sp-2);
  border-inline-start: 1px solid rgb(var(--color-border));
}

noscript .product-form__input {
  margin-block-start: var(--sp-6);
}

.product-form__input {
  border: none;
}

.product-form__input .form__label {
  margin-block-end: var(--sp-3);
}

.product-form__input .form__label:empty {
  display: none;
}

.variant-picker .color-swatch {
  --swatch-size: var(--sp-8d5);
}

@media screen and (min-width: 1024px) {
  .product {
    grid-template-columns: minmax(0, 1fr) clamp(25rem, 30.26vw, 35rem);
    gap: var(--sp-10);
  }

  .product__info.lg\:sticky,
  .product__preview.lg\:sticky,
  .product__gallery-container.lg\:sticky {
    inset-block-start: var(--sp-6) !important;
    transition: inset-block-start var(--animation-nav);
  }

  .header-sticky~.page-container .lg\:sticky:is(.product__info, .product__preview, .product__gallery-container) {
    inset-block-start: calc(var(--header-height) + var(--sp-3)) !important;
  }

  .header-hidden[data-sticky-type=on-scroll-up]~.page-container .lg\:sticky:is(.product__info, .product__preview, .product__gallery-container) {
    inset-block-start: var(--sp-6) !important;
  }

  .product__preview.lg\:sticky {
    --inset: 0px;
    height: calc(var(--screen-height) - var(--header-height) - var(--topbar-height) - var(--sp-5));
    transition-property: inset-block-start, height;
  }

  .header-scrolled~.page-container .product__preview.lg\:sticky {
    height: calc(var(--screen-height) - var(--inset) - var(--sp-10));
  }

  .header-hidden[data-sticky-type=on-scroll-up]~.page-container .product__preview.lg\:sticky {
    height: calc(var(--screen-height) - var(--sp-12));
  }
}

@media screen and (min-width: 1280px) {
  .product {
    grid: var(--product-grid);
    gap: clamp(var(--sp-12), 4.73vw, var(--sp-23));
  }
}

@media screen and (min-width: 1536px) {
  .product--scroll {
    gap: var(--sp-15);
  }
}

.product__preview {
  max-height: var(--screen-height);
}

.product__preview .product__media {
  display: flex;
}

.product__preview .product__media,
.product__preview .product__media>img {
  height: 100%;
}

@media screen and (min-width: 1280px) {
  .product--scroll .product__preview .play-button {
    width: var(--sp-14);
    height: var(--sp-14);
  }

  .product--scroll .product__preview .play-button .icon {
    width: var(--sp-5);
    height: var(--sp-5);
  }
}

.product.no-media {
  grid: none;
}

.product.no-media .product__info {
  width: 100%;
}

.product__info>*+* {
  margin-block-start: var(--sp-6);
}

.product__breadcrumb {
  border-block-end: 1px solid rgb(var(--color-border));
  padding-block-end: var(--sp-3);
}

.product__vendor+:is(.product__title, .product__sku, .product__badges),
.product__sku+:is(.product__title, .product__vendor, .product__badges),
.product__badges+.product__title.with-price--on-sale {
  margin-block-start: var(--sp-3);
}

.product__title+.product__rating {
  margin-block-start: var(--sp-5);
}

.product__badges:has(>.badges:empty) {
  display: none;
}

.product__price {
  font-size: var(--fluid-lg-to-2xl);
}

.product__price .price__regular {
  font-size: 100%;
}

.product__price :is(.price__sale, .unit-price) {
  font-size: 70%;
}

.product__tax {
  margin-block-start: var(--sp-1d5);
}

.product__title.with-price {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: flex-end;
  justify-content: space-between;
}

.product__title .product__price {
  align-self: flex-end;
}

.product__title.with-price .product__rating {
  place-self: end;
}

@media screen and (min-width: 1280px) {
  .product__title.with-price {
    grid-template-columns: auto auto;
  }

  .product__title.with-price .heading {
    grid-column: auto;
  }

  .product__title.with-price .price__sale {
    place-self: end;
  }

  .product__title .product__price {
    place-self: end;
  }

  .product__title.with-price .product__rating {
    grid-column: 1/-1;
    place-self: auto;
  }
}

.product-form-wrapper {
  margin-block-start: var(--sp-8);
}

.quantity {
  min-height: var(--input-height);
  border: 1px solid rgb(var(--color-border));
  border-radius: var(--buttons-radius);
}

.quantity__label~.quantity__rules {
  margin-block-start: var(--sp-3);
}

.quantity__rules .divider + .divider::before {
  content: '\2022';
  margin-inline: var(--sp-3);
}

.quantity__rules-cart .btn-loader {
  justify-content: flex-start;
  inset-inline-start: var(--sp-1);
}

.quantity__input {
  appearance: none;
}

.quantity__input::-webkit-outer-spin-button,
.quantity__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.quantity__input[type='number'] {
  appearance: none;
  -moz-appearance: textfield;
}

.quantity__input:focus {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -moz-appearance: textfield;
  outline: 2px solid transparent;
  outline-offset: 2px
}

.quantity .quantity__input {
  max-width: var(--sp-11);
  background-color: transparent;
}

.quantity .quantity__button {
  padding-inline: var(--sp-3);
}

@media screen and (max-width: 639px) {
  .quantity .quantity__button .icon {
    width: var(--sp-4d5);
    height: var(--sp-4d5);
  }
}

@media screen and (min-width: 640px) {
  .product-form__submit,
  button.shopify-payment-button__button--unbranded,
  .shopify-payment-button__button.shopify-payment-button__button--branded [role=button] {
    min-height: 3.75rem;
  }

  .shopify-payment-button__button.shopify-payment-button__button--branded {
    min-height: 3.75rem !important;
  }

  .shopify-payment-button :is(shopify-accelerated-checkout, shopify-accelerated-checkout-cart) {
    --shopify-accelerated-checkout-button-block-size: 3.75rem;
  }

  .quantity .quantity__input {
    max-width: var(--sp-12);
  }

  .quantity .quantity__button {
    padding-inline: var(--sp-4d5);
  }

  .quantity .quantity__button:first-of-type {
    padding-inline-end: var(--sp-2);
  }

  .quantity .quantity__button:last-of-type {
    padding-inline-start: var(--sp-2);
  }

  .buy-buttons.grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  }
}

.product-form__buttons .field+.buy-buttons {
  margin-block-start: var(--sp-2);
}

@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .product-form__buttons .quantity .quantity__input {
    max-width: var(--sp-10);
  }
}

.product-form__submit.with-price .price__regular {
  color: inherit;
  font-size: inherit;
}

.product-form__submit.with-price :is(.unit-price, .price__sale) {
  display: none;
}

.buy-buttons .quantity:has(~ .product-form__submit.with-price) .quantity__input {
  max-width: var(--sp-8);
}

.product-form__buttons .back-in-stock .quantity:has(~ .product-form__submit[disabled]:not([loading], [unavailable])),
.product-form__buttons .back-in-stock .product-form__submit[disabled]:not([loading], [unavailable]),
.product-form__buttons .back-in-stock .product-form__submit:not([disabled]) ~ .product-form__alert,
.product-form__buttons .back-in-stock .product-form__submit:is([loading], [unavailable]) ~ .product-form__alert,
button.shopify-payment-button__button--hidden {
  display: none;
}

[data-rounded-block=square] .product__inventory progress-bar {
  border-radius: 0;
}

.product__inventory progress-bar {
  height: var(--sp-1d5);
  background-color: rgb(var(--color-border-light));
}

.product__inventory progress-bar::before {
  content: '';
  background-color: currentColor;
  border-radius: inherit;
  display: block;
  height: inherit;
  width: var(--progress, 100%);
  transition: width var(--animation-smooth) .1s;
}

.product__inventory .accent-2::before {
  background: linear-gradient(325deg, #0064ff 0, #61f0f3 100%);
}

.product__inventory .accent-3::before {
  background: linear-gradient(325deg, #ff3484 0, #f1e04d 100%);
}

.product__inventory .accent-4::before {
  background: linear-gradient(325deg, #309fff 0, #b635ff 100%);
}

.product__inventory .accent-5::before {
  background: linear-gradient(325deg, #049cff 0, #35ee7a 100%);
}

.product__inventory .accent-6::before {
  background: linear-gradient(325deg, #00e166 0, #0066ec 100%);
}

.product__inventory .alert {
  border-radius: var(--rounded-full);
  padding-block: var(--sp-3d5);
  padding-inline: var(--sp-4d5) var(--sp-5);
}

.product__highlights.with-heading {
  padding: var(--sp-5) var(--sp-6);
  background-color: rgb(var(--color-foreground) / 0.025);
}

[data-rounded-block=round] .product__highlights.with-heading {
  border-radius: var(--sp-2d5);
}

.product__highlights.with-heading .product-card__spec {
  border: none;
}

.product__highlights.with-heading .product-card__icons {
  gap: var(--sp-2d5);
  padding: 0;
  background-color: transparent;
}

.product__highlights.with-heading .product-card__icon {
  min-width: unset;
  border: none;
  margin: 0;
  padding: var(--sp-4) var(--sp-6);
  background-color: rgb(var(--color-background));
}

[data-rounded-block=round] .product__highlights.with-heading .product-card__icon {
  border-radius: var(--sp-2d5);
}

.product__highlights.with-heading .product-card__icon figure {
  width: var(--sp-6);
}

@media screen and (min-width: 768px) {
  .product__highlights.with-heading .product-card__icon {
    padding-inline-end: var(--sp-8);
  }

  .product__highlights.with-heading .product-card__icon figure {
    width: var(--sp-8);
  }
}

@media screen and (min-width: 1024px) {
  .product__info .product__highlights.below-media {
    display: none;
  }
}

.product__gallery-container .product__highlights.with-heading {
  padding: var(--sp-8);
  margin-block-start: var(--sp-4);
  border-radius: var(--rounded-block);
  background-color: transparent;
  border: 1px solid rgb(var(--color-border-light));
}

.product__gallery-container .product__highlights.with-heading>p {
  position: absolute;
  padding: var(--sp-2d5);
  inset-block-start: -1px;
  inset-inline-start: var(--sp-5d5);
  transform: translateY(-50%);
  background-color: rgb(var(--color-background));
}

.product__gallery-container .product__highlights.with-heading .product-card__icon {
  background-color: rgb(var(--color-foreground) / 0.025);
}

@media screen and (max-width: 1023px) {
  .product__gallery-container .product__highlights {
    display: none;
  }
}

.product__info .complementary-products {
  margin-block-start: var(--sp-8);
}

.recipient-form input[type=date]::-webkit-calendar-picker-indicator {
  color: transparent;
  background: none;
  position: absolute;
  inset-block-start: calc(50% - 10px);
  inset-inline-end: var(--input-padding-inline);
}

.social-sharing li {
  width: var(--sp-10);
  height: var(--sp-10);
}

.social-sharing .social-sharing__link {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.social-sharing .social-sharing__link .icon {
  width: var(--sp-4d5);
  height: var(--sp-4d5);
}

.help-list__item {
  padding-block: var(--sp-6);
  padding-inline: var(--sp-7d5);
  color: rgb(var(--color-foreground));
  background: var(--gradient-background);
  background-color: rgb(var(--color-background));
}

[data-rounded-block=round] .help-list__item {
  border-radius: var(--sp-4);
}

.help-list__item p {
  margin-block-start: 0;
  margin-block-end: var(--sp-3);
}

.help-list__item p.h4,
.help-list__item p:last-child {
  margin-block-end: 0;
}

.product__accordion {
  border-block-end: 0;
}

.product__accordion.with-background+.product__accordion.with-background {
  margin-block-start: var(--sp-4);
}

.product__accordion.with-background {
  background-color: rgb(var(--color-foreground) / 0.025);
}

[data-rounded-block=round] .product__accordion.with-background {
  border-radius: var(--sp-2d5);
}

.product__accordion.with-border {
  border-block: 1px solid rgb(var(--color-border-light));
}

.product__accordion.with-border+.product__accordion.with-border {
  border-block-start: 0;
  margin-block-start: 0;
}

.product__accordion:first-child .details__summary,
.product__accordion .details__summary {
  padding: var(--sp-5) var(--sp-6);
}

.product__accordion .details__summary>.icon {
  --tw-scale-y: 1;
  width: var(--sp-3);
  height: var(--sp-3);
}

.product__accordion[aria-expanded=true] .details__summary>.icon {
  --tw-rotate: 45deg;
}

.product__accordion:last-child .details__content,
.product__accordion .details__content {
  padding: var(--sp-5) var(--sp-6);
  padding-block-start: 0;
  margin-block-start: 0;
  max-width: 100%;
}

.product__accordion .details__content::after {
  content: none;
}

@media screen and (min-width: 1024px) {
  .product__accordion .details__summary>.icon {
    width: var(--sp-3d5);
    height: var(--sp-3d5);
  }
}

.product__more {
  padding: clamp(var(--sp-4d5), 1.2vw, var(--sp-5d5));
  margin-block-start: var(--sp-9);
  border-block: 1px solid rgb(var(--color-border-light));
}

.product__text+.product__text+.product__more {
  border-block-start: 0;
  margin-block-start: var(--sp-4);
}

.product__more+.product__accordion,
.product__accordion+.product__more {
  border-block-start: 0;
  margin-block-start: 0;
}

.product__more+.product__accordion.with-background {
  margin-block-start: var(--sp-9);
}

[data-rounded-block=round] .product__text {
  border-radius: var(--sp-2d5);
}

.product__text+.product__text,
.product__text:has(+.product__text) {
  padding: var(--sp-6);
  background-color: rgb(var(--color-foreground) / 0.025);
}

.product__text+.product__text {
  margin-block-start: 0;
  padding-block-start: 0;
  border-start-start-radius: 0;
  border-start-end-radius: 0;
}

.product__text:has(+.product__text) {
  padding-block-end: 0;
  border-end-start-radius: 0;
  border-end-end-radius: 0;
}

.product__text+.product__text .product__text-inner,
.product__text:has(+.product__text) .product__text-inner {
  padding: var(--sp-4);
  background-color: rgb(var(--color-background));
}

.product__text-inner {
  padding: var(--sp-5) var(--sp-6);
}

.product__text.first.last .product__text-inner {
  padding: 0;
}

[data-rounded-block=round] .product__text-inner {
  border-radius: var(--sp-2d5);
}

.product__text+.product__text.even .product__text-inner {
  background-color: transparent;
}

.product__text+.product__text.even.last .product__text-inner {
  padding-block-end: 0;
}

.product-bundle__info {
  --cart-item-media-width: clamp(var(--sp-10), 3.368vw, var(--sp-16));
  padding: var(--sp-4) var(--sp-6);
  background-color: rgb(var(--color-background));
}

[data-rounded-block=round] .product-bundle__info {
  border-radius: var(--sp-2d5);
}

@media screen and (max-width: 639px) {
  .product-bundle__info {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    row-gap: var(--sp-2);
    padding: var(--sp-4);
  }

  .product-bundle__info .horizontal-product__quantity {
    grid-column: 1 / -1;
    margin-inline-start: unset;
  }

  .product-bundle__info.with-image .horizontal-product__quantity {
    grid-column: 2 / -1;
  }

  .product-bundle__info .horizontal-product__title {
    padding-inline-end: var(--sp-8);
  }

  .product-bundle__info .checkbox {
    position: absolute;
    inset-block-start: var(--sp-4);
    inset-inline-end: var(--sp-4);
  }
}

.product-bundle__info .select {
  --input-padding-inline: var(--sp-2d5);
  font-size: var(--text-xs);
  line-height: 1.25;
  height: var(--sp-8);
}

.product-bundle__info .select~.icon {
  inset-block-start: calc(50% - 8px);
  inset-inline-end: var(--sp-2);
}

.product__more>.icon {
  width: var(--sp-4d5);
  height: var(--sp-4d5);
}

.product__info>:not(.product__accordion)+:last-child:is(.product__more) {
  border-block-end: 0;
  padding-inline: 0;
}

.product__spinning {
  inset-inline-start: 50%;
  margin-inline-start: calc(var(--radius) * 2);
}

@media screen and (min-width: 1024px) {
  .product__spinning {
    inset-inline-start: 100%;
    margin-inline-start: var(--radius);
  }

  :is(.product--columns, .product--scroll) .product__spinning {
    inset-inline-start: 50%;
    margin-inline-start: 0;
  }
}

@media screen and (min-width: 1280px) {
  .product--scroll .product__spinning {
    inset-inline-start: calc(55% + var(--sp-5));
  }
}

@media screen and (min-width: 1536px) {
  .product__spinning {
    margin-inline-start: calc(var(--radius) * 3);
  }
}

.product__spinning .icon {
  width: clamp(var(--sp-6), 2.105vw, var(--sp-10));
  height: clamp(var(--sp-6), 2.105vw, var(--sp-10));
}

spinning-text {
  --inner-angle: calc((360 / var(--char-count)) * 1deg);
  --character-width: 2;
  --radius: calc((var(--character-width) / sin(var(--inner-angle))) * -1ch);
}

[data-gang-option]~[data-gang-default] {
  display: none;
}

@media (prefers-reduced-motion: no-preference) {
  .split-chars {
    animation: spin 12s infinite linear;
  }

  @keyframes spin {
    to {
      rotate: -360deg;
    }
  }
}

.split-char {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(calc(var(--transform-logical) * var(--inner-angle) * var(--char-index))) translateY(var(--radius));
}

.no-js .product__spinning {
  display: none;
}

@keyframes beat {

  0%,
  to {
    transform: scale(1)
  }

  50% {
    transform: scale(1.2)
  }
}

video-media,
model-media {
  border-radius: inherit;
  aspect-ratio: var(--aspect-ratio);
}

@supports not (aspect-ratio: 1) {
  :is(video-media, model-media)::before {
    content: '';
    padding-block-end: calc(100% / (var(--aspect-ratio)));
    display: block;
  }

  :is(video-media, model-media)>* {
    height: 100%;
    inset-block-start: 0;
    inset-inline-start: 0;
    position: absolute !important;
  }
}

model-media[loaded]> img {
  opacity: 0;
  visibility: hidden;
}

video-media {
  --aspect-ratio: 16 / 9;
}

video-media[host] {
  align-items: center;
  display: grid;
}

video-media:not([playing]) {
  cursor: pointer;
}

video-media[loaded] .deferred-poster {
  pointer-events: none;
}

video-media> :is(video, iframe, img, svg) {
  width: 100%;
  height: 100%;
  border: none;
  border-radius: inherit;
  transition: var(--animation-short);
  transition-property: opacity, visibility;
}

video-media>video[controls] {
  pointer-events: auto;
}

video-media> :is(img, svg) {
  object-fit: cover;
  object-position: center;
}

video-media>video:not(:-webkit-full-screen) {
  object-fit: cover;
  object-position: center;
}

video-media.media--contain>video:not(:-webkit-full-screen) {
  object-fit: contain;
}

video-media>video:not(:fullscreen) {
  object-fit: cover;
  object-position: center;
}

video-media.media--contain>video:not(:fullscreen) {
  object-fit: contain;
}

video-media> :is(iframe, img, svg) {
  position: absolute;
  inset: 0;
}

video-media:not([loaded])> :is(video, iframe),
video-media[loaded]>img,
video-media[loaded]>svg,
video-media[loaded] .play-button {
  opacity: 0;
  visibility: hidden;
}

video-media[suspended]~* {
  pointer-events: none;
}

@media screen and (min-width: 1024px) {
  model-media[loaded]~* {
    pointer-events: none;
  }
}

.play-button {
  position: absolute;
  width: var(--sp-7);
  height: var(--sp-7);
  inset-inline-end: var(--sp-2);
  inset-block-start: var(--sp-2);
  transition: var(--animation-short);
  transition-property: opacity, visibility;
  background-color: rgb(var(--color-background));
}

@media screen and (pointer: fine) {
  :is(video-media, model-media) .play-button:hover>svg:first-child {
    animation: beat .6s infinite ease;
  }
}

.play-button .icon {
  width: var(--sp-3);
  height: var(--sp-3);
}

:is(.product__preview, .product__media-list) .play-button {
  width: var(--sp-10);
  height: var(--sp-10);
  inset-inline-end: var(--sp-4);
  inset-block-start: var(--sp-4);
}

:is(.product__preview, .product__media-list) .play-button[hidden] {
  display: none;
}

:is(.product__preview, .product__media-list) .play-button .icon {
  width: var(--sp-4);
  height: var(--sp-4);
}

:is(.product__preview, .product__media-list) .shopify-model-viewer-ui .shopify-model-viewer-ui__button--control,
:is(.product__preview, .product__media-list) .shopify-model-viewer-ui .shopify-model-viewer-ui__control-icon {
  width: var(--sp-10);
  height: var(--sp-10);
}

:is(.product__preview, .product__media-list) .shopify-model-viewer-ui .shopify-model-viewer-ui__button--control:not(:last-child)::after {
  width: 100%;
  inset-inline-end: 0;
}

[data-rounded-block=round] :is(.product__preview, .product__media-list) .shopify-model-viewer-ui .shopify-model-viewer-ui__controls-area {
  border-radius: var(--sp-1);
}

.product__media {
  background-color: rgb(var(--color-placeholder));
}

@media screen and (min-width: 1024px) {
  .product__media {
    border-radius: var(--card-radius);
  }
}

@media screen and (min-width: 768px) {
  .product__media.media--adapt>:is(img, svg, video-media) {
    object-fit: contain;
    object-position: top center;
  }
}

@media screen and (max-width: 767px) {
  .product__media.mobile\:media--adapt>:is(img, svg, video-media) {
    object-fit: contain;
    object-position: top center;
  }
}

[data-shopify-xr-hidden] {
  display: none;
}

button:is([is=media-lightbox-button], [is=media-hover-button]) {
  cursor: zoom-in;
  border-radius: var(--rounded-block);
}

button:is([is=media-lightbox-button], [is=media-hover-button]):focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px rgb(var(--color-keyboard-focus));
}

.product__media-container .slider {
  margin-inline: 0;
  padding-inline: 0;
  scroll-padding-inline: 0;
  border-radius: var(--rounded-block);
  transform: translateZ(0);
}

@media screen and (min-width: 1024px) {
  .product--thumbnail .product__media-container .indicators {
    display: flex;
    justify-content: space-between;
    padding: var(--sp-6);
    transition: opacity var(--animation-primary);
  }

  .product--thumbnail .product__media-container .indicators .button {
    --border-opacity: 0.1;
    background-color: rgb(var(--color-button-text));
  }

  @media screen and (pointer: fine) {
    .product--thumbnail .product__media-container .indicators:has(> .button:focus-visible),
    .product--thumbnail .product__media-container:hover .indicators {
      opacity: 1;
    }
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .slider .product__media {
    width: 75%;
    scroll-snap-align: center;
  }

  .product__gallery.with-only1 .slider .product__media {
    width: 100%;
  }
}

@media screen and (min-width: 1280px) {
  .product--scroll .product__gallery {
    grid-template-columns: 1fr .55fr;
  }

  .product--scroll .product__media-list {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

.product--thumbnail .product__media-list,
.product--dots .product__media-list {
  margin-inline: 0;
  padding-inline: 0;
  scroll-padding-inline: 0;
}

@media screen and (min-width: 1024px) {
  .product--thumbnail .product__media-list,
  .product--dots .product__media-list {
    gap: 0;
  }

  .product--thumbnail .product__media-list .play-button,
  .product--thumbnail .shopify-model-viewer-ui .shopify-model-viewer-ui__button--poster {
    width: var(--sp-14);
    height: var(--sp-14);
  }

  .product--thumbnail .product__media-list .play-button .icon {
    width: var(--sp-5);
    height: var(--sp-5);
  }
}

.product--thumbnail .product__media-list .product__media {
  border-radius: 0;
}

.product__thumbnails-list {
  grid-auto-flow: column;
  overflow-x: scroll;
}

.product__thumbnail {
  width: var(--sp-23);
}

.product__thumbnail::after {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  --tw-ring-inset: inset;
  --tw-ring-color: transparent;
  content: '';
  inset: 0;
  position: absolute;
  pointer-events: none;
  transition: box-shadow var(--animation-fast);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

.product__thumbnail[aria-current=true]::after {
  --tw-ring-color: rgb(var(--color-foreground));
}

[data-rounded-block=round] .product__thumbnail,
[data-rounded-block=round] .product__thumbnail::after {
  border-radius: var(--sp-2d5);
}

@media screen and (min-width: 1280px) {
  .product__thumbnails--beside {
    order: -1;
    width: var(--sp-28);
  }

  .product__thumbnails--beside .product__thumbnails-list {
    grid-auto-flow: row;
    overflow-y: scroll;
    max-height: 630px;
  }

  .product__thumbnails--beside .product__thumbnail {
    width: 100%;
    contain: paint;
    overflow: visible;
  }
}

@media screen and (max-width: 1023px) {
  .product__gallery--partial .slider .product__media {
    width: 75%;
  }

  .product__gallery button:is([is=media-lightbox-button], [is=media-hover-button]) {
    pointer-events: auto;
    width: var(--sp-10);
    height: var(--sp-10);
    inset: unset;
    inset-inline-end: var(--sp-4);
    inset-block-start: var(--sp-4);
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-background)/ 0.7);
    border-radius: var(--rounded-full);
    backdrop-filter: blur(12px);
    border: 1px solid rgb(var(--color-border));
  }

  .product__thumbnail {
    width: var(--sp-15);
  }

  .product__thumbnails.with-dots,
  .product__thumbnails.with-dots .product__thumbnails-list {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
  }

  .product__thumbnails.with-dots .product__thumbnails-list {
    flex-wrap: wrap;
  }

  .product__thumbnails.with-dots .product__thumbnail:not([hidden]) {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: var(--sp-6);
    height: var(--sp-6);
    border-radius: var(--rounded-full);
    transition: box-shadow var(--animation-primary);
    background-color: transparent;
  }

  .product__thumbnails.with-dots .product__thumbnail::after {
    content: none;
  }

  .product__thumbnails.with-dots .product__thumbnail::before {
    content: '';
    display: block;
    width: 5px;
    height: 5px;
    background-color: rgb(var(--color-foreground));
    border-radius: var(--rounded-full);
    transition: var(--animation-primary);
    transition-property: background-color, box-shadow;
  }

  .product__thumbnails.with-dots .product__thumbnail[aria-current=true]::before {
    width: 5px;
    height: 5px;
    background-color: transparent;
    box-shadow: 0 0 0 2px rgb(var(--color-foreground));
  }

  .product__thumbnails.with-dots .product__thumbnail :is(img, svg) {
    visibility: hidden;
    position: absolute;
  }

  .product__thumbnails.with-dots .product__thumbnail .play-button {
    clip: rect(0,0,0,0);
    border-width: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }
}

.product__media--variant:not(:first-child) {
  display: none;
}

.no-js .product--thumbnail .product__media-list .product__media:not(:first-child) {
  display: none;
}

.product--scroll .product__gallery.with-only1 {
  grid-template-columns: 1fr;
}

@media screen and (min-width: 1024px) {
  .product--scroll .product__gallery.with-only1 .product__preview.lg\:sticky {
    height: auto;
    max-height: unset;
  }
}

.product--scroll .product__gallery.with-only1 .product__preview {
  display: none;
}

@media screen and (min-width: 1280px) {
  .product--scroll .product__gallery.with-only1 .product__preview {
    display: block;
  }

  .product--scroll .product__gallery.with-only1 .product__preview .product__media {
    height: auto;
  }
}

:is(.product--scroll, .product--columns) .product__gallery.with-only1 .product__media-list {
  grid-template-columns: 1fr;
}

:is(.product--scroll, .product--columns) .product__gallery.with-only1 .product__media-list .product__media {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .product--thumbnail .product__media.media--adapt_first>:is(img, svg, video-media),
  .product--thumbnail .product__thumbnail.media--adapt_first>:is(img, svg, video-media),
  .swatches--variant .color-swatch.aspect-adapt_first {
    aspect-ratio: var(--aspect-ratio);
  }
}

@media screen and (max-width: 767px) {
  .product__media.mobile\:media--adapt>:is(img, svg, video-media),
  .product__thumbnail.mobile\:media--adapt>:is(img, svg, video-media),
  .product__media.mobile\:media--adapt_first>:is(img, svg, video-media),
  .product__thumbnail.mobile\:media--adapt_first>:is(img, svg, video-media),
  .swatches--variant .color-swatch.mobile\:aspect-adapt_first {
    aspect-ratio: var(--aspect-ratio);
  }

  .swatches--variant .color-swatch.mobile\:aspect-adapt {
    aspect-ratio: unset;
  }
}

/*! image-with-text */

.image-with-text .rich-text>*+*:not(.spacing-section) {
  margin-block-start: var(--sp-7d5);
}

.image-with-text .rich-text>.banner__subheading+.heading {
  margin-block-start: var(--sp-6);
}

.image-with-text__media.with-2nd-image {
  padding-inline: var(--page-padding);
}

.image-with-text__item .media:not(.media--rounded) {
  border-radius: var(--rounded-block);
}

.image-with-text__image-second {
  inset-block-start: 50%;
  width: 35%;
  transform: translateY(-50%);
}

.image-with-text__image-second .media {
  transform: rotate(calc(-4deg * var(--transform-logical)));
}

.image-with-text__image-second+.image-with-text__image-first {
  transform: rotate(calc(3deg * var(--transform-logical)));
  width: 75%;
  margin-inline-start: auto;
}

.image-with-text__media .aspect-adapt .placeholder {
  aspect-ratio: 5 / 6;
}

@media screen and (max-width: 1023px) {
  .image-with-text__item .rich-text {
    padding-block-start: var(--sp-10);
  }

  .flex-col-reverse .image-with-text__item+.image-with-text__item .rich-text {
    padding-block-start: 0;
    padding-block-end: var(--sp-10);
  }
}

@media screen and (min-width: 1024px) {
  .image-with-text {
    gap: 0;
  }

  .image-with-text .rich-text>*+*:not(.spacing-section) {
    margin-block-start: var(--sp-10);
  }

  .image-with-text__item+.image-with-text__item .rich-text {
    padding-inline-start: var(--grid-gap);
  }

  .lg\:flex-row-reverse .image-with-text__item+.image-with-text__item .rich-text {
    padding-inline-start: 0;
    padding-inline-end: var(--grid-gap);
  }

  .image-with-text__item {
    width: 44%;
  }

  .image-with-text__media.with-2nd-image {
    padding-inline: calc(var(--grid-gap)/ 2);
  }

  .image-with-text__image-second {
    width: 40%;
  }
}

@media screen and (min-width: 1536px) {
  .image-with-text__item:not(.lg\:grow-0) .image-with-text__media.with-2nd-image {
    padding-inline: var(--grid-gap);
  }

  .image-with-text__item.lg\:grow-0+.image-with-text__item .rich-text {
    padding-inline-start: 15%;
  }

  .lg\:flex-row-reverse .image-with-text__item.lg\:grow-0+.image-with-text__item .rich-text {
    padding-inline-start: 0;
    padding-inline-end: 15%;
  }
}

.image-with-text.with-background {
  color: rgb(var(--color-foreground));
  background: var(--gradient-background-2);
  background-color: rgb(var(--color-background-2));
  border-radius: var(--rounded-block);
}

.image-with-text.with-background .image-with-text__image {
  min-height: 100%;
}

.image-with-text.with-background .image-with-text__image .media {
  border-radius: 0;
}

.image-with-text.with-background .image-with-text__item .rich-text {
  padding: var(--sp-10);
}

@media screen and (min-width: 1024px) {
  .image-with-text.with-background .image-with-text__item .rich-text {
    padding: var(--grid-gap);
  }

  .lg\:flex-row-reverse.with-background .image-with-text__item+.image-with-text__item .rich-text {
    padding-inline-start: var(--grid-gap);
  }
}

@media screen and (min-width: 1280px) {
  .image-with-text.with-background .image-with-text__item .rich-text {
    padding-inline: var(--sp-14);
  }
}

@media screen and (min-width: 1536px) {
  .page-width:not(.page-width--narrow) .image-with-text.with-background .image-with-text__item .rich-text {
    padding-inline: clamp(var(--sp-20), 6.737vw, var(--sp-32));
  }

  .with-background .image-with-text__item+.image-with-text__item.lg\:grow-0 .rich-text {
    padding-inline-end: 15%;
  }

  .lg\:flex-row-reverse.with-background .image-with-text__item+.image-with-text__item.lg\:grow-0 .rich-text {
    padding-inline-start: 15%;
  }
}

/*! scrolling-banner */

.scrolling-banner .image-with-text {
  background: none;
  border-radius: 0;
}

.scrolling-banner .image-with-text .image-with-text__content {
  background: var(--gradient-background);
  background-color: rgb(var(--color-background));
  transition: opacity var(--animation-primary);
}

.scrolling-banner .image-with-text.with-background .image-with-text__content {
  background: var(--gradient-background-2);
  background-color: rgb(var(--color-background-2));
  border-radius: var(--rounded-block);
}

.scrolling-banner .image-with-text.with-background .image-with-text__image .media {
  border-radius: var(--rounded-block);
}

.scrolling-banner .image-with-text .image-with-text__image>.media:not(:first-child) {
  clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
}

@media screen and (min-width: 1024px) {
  .scrolling-banner {
    height: calc(var(--scrolling-height) + 15vh);
  }

  .scrolling-banner .image-with-text {
    gap: var(--sp-2);
  }

  .scrolling-banner .media--100vh {
    height: calc(100vh - var(--sticky-header-height, 0px) - 40px);
  }

  @supports (height: 100svh) {
    .scrolling-banner .media--100vh {
      height: calc(100svh - var(--sticky-header-height, 0px) - 40px);
    }
  }
}

/*! highlighted-text */

@keyframes strokeAnimation {
  0% {
    stroke-dashoffset: 1;
    opacity: 0;
  }

  1% {
    opacity: 1;
  }

  100% {
    stroke-dashoffset: 0;
  }
}

.highlighted-text .icon {
  z-index: -1;
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  stroke: rgb(var(--color-highlight));
  transform: scaleX(var(--transform-logical));
}

.highlighted-text .icon-circle {
  width: min(120%, calc(100% + var(--sp-10)));
  height: 140%;
  inset-block-start: -20%;
  inset-inline-start: calc(min(10%, var(--sp-5)) * -1);
}

.highlighted-text .icon-basic-underline {
  width: 100%;
  height: 30%;
  inset-block-start: auto;
  inset-block-end: -20%;
}

.highlighted-text .icon-sketch-underline {
  width: 100%;
  height: 60%;
  inset-block-start: auto;
  inset-block-end: -20%;
}

.highlighted-text .icon-squiggle-underline {
  width: 100%;
  height: 50%;
  inset-block-start: auto;
  inset-block-end: -30%;
}

.highlighted-text .icon-squiggle-underline-2 {
  width: 100%;
  height: 50%;
  inset-block-start: auto;
  inset-block-end: -35%;
}

.highlighted-text .icon path {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  opacity: 0;
}

.highlighted-text.animated .icon path {
  opacity: 1;
  animation: strokeAnimation 1.3s cubic-bezier(0.65, 0, 0.35, 1) forwards;
}

.highlighted-text[data-style=text] {
  transition: color var(--animation-smooth);
}

.highlighted-text.animated[data-style=text] {
  color: rgb(var(--color-highlight));
}

.highlighted-text:is([data-style=full_text], [data-style=half_text], [data-style=underline]) {
  background-repeat: no-repeat;
  background-image: linear-gradient(to var(--transform-origin-end), rgb(var(--color-highlight)) 0, rgb(var(--color-background)) 100%), linear-gradient(to var(--transform-origin-end), rgb(var(--color-highlight)) 0, rgb(var(--color-background)) 100%);
  transition: background-size var(--animation-smooth);
}

.highlighted-text.with-gradient:is([data-style=full_text], [data-style=half_text], [data-style=underline]) {
  background-image: var(--gradient-highlight);
}

.highlighted-text[data-style=full_text] {
  background-position: var(--transform-origin-start) 70%;
  background-size: 0 80%;
}

.highlighted-text.animated[data-style=full_text] {
  background-size: 100% 80%;
}

.highlighted-text[data-style=half_text] {
  background-position: var(--transform-origin-start) 90%;
  background-size: 0 28%;
}

.highlighted-text.animated[data-style=half_text] {
  background-size: 100% 28%;
}

.highlighted-text[data-style=underline] {
  background-size: 0 3px, 0% 80%;
  background-position: var(--transform-origin-start) 90%, var(--transform-origin-start) 50%;
}

.highlighted-text.animated[data-style=underline] {
  background-size: 100% 3px, 0% 80%;
}

.highlighted-text[data-style=marker]:before {
  content: '';
  position: absolute;
  z-index: -1;
  inset-block: -2px;
  inset-inline: -4px;
  background-repeat: no-repeat;
  background-image: linear-gradient(to var(--transform-origin-end), rgb(var(--color-highlight)) 0, rgb(var(--color-highlight)) 100%), linear-gradient(to var(--transform-origin-end), rgb(var(--color-highlight)) 0, rgb(var(--color-highlight)) 100%);
  transition: background-size var(--animation-smooth);
  background-position: var(--transform-origin-start) 70%;
  background-size: 0 80%;
  transform: rotate(3deg);
}

.highlighted-text.with-gradient[data-style=marker]:before {
  background-image: var(--gradient-highlight);
}

.highlighted-text.animated[data-style=marker]:before {
  background-size: 100% 80%;
}

.highlighted-text[data-style=stencil] {
  -webkit-text-stroke: var(--stencil-stroke-width, 0.02em) currentColor;
  -webkit-text-fill-color: transparent;
}

.section--solid .highlighted-text[data-style=stencil] {
  --stencil-stroke-width: 2px;
  -webkit-text-fill-color: rgb(var(--color-background));
  paint-order: stroke fill;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  .js .highlighted-text.with-gradient[data-style=text] {
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    background-repeat: no-repeat;
    background-image: var(--gradient-highlight);
    background-position: var(--transform-origin-start) 100%;
    background-size: 0 100%;
    transition: background-size var(--animation-smooth);
  }

  .js .highlighted-text.with-gradient.animated[data-style=text] {
    background-size: 100% 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .highlighted-text .icon path {
    opacity: 1;
    animation: strokeAnimation forwards;
  }

  .highlighted-text[data-style=text] {
    color: rgb(var(--color-highlight));
  }

  .highlighted-text[data-style=full_text] {
    background-size: 100% 80%;
  }

  .highlighted-text[data-style=half_text] {
    background-size: 100% 28%;
  }

  .highlighted-text[data-style=underline] {
    background-size: 100% 3px, 0% 80%;
  }

  @media screen and (-webkit-min-device-pixel-ratio: 0) {
    .js .highlighted-text.with-gradient[data-style=text] {
      background-size: 100% 100%;
    }
  }
}

/*! testimonials */

.testimonials::after {
  content: 'flickity';
  display: none;
}

.testimonial blockquote {
  margin-block: 0;
}

.testimonial.with-none blockquote {
  padding-block-start: 0;
}

.testimonial.with-none blockquote::before {
  content: none;
}

.testimonial:is(.with-5-stars, .with-4-stars, .with-3-stars, .with-2-stars, .with-1-star) blockquote::before {
  -webkit-mask-image: none;
  mask-image: none;
  width: auto;
  height: auto;
  background-color: transparent
}

.testimonial.with-5-stars blockquote::before {
  content: '★★★★★';
}

.testimonial.with-4-stars blockquote::before {
  content: '★★★★';
}

.testimonial.with-3-stars blockquote::before {
  content: '★★★';
}

.testimonial.with-2-stars blockquote::before {
  content: '★★';
}

.testimonial.with-1-star blockquote::before {
  content: '★';
}

.testimonial figure {
  width: clamp(var(--sp-16), 4.21vw, var(--sp-20));
  margin-block-start: var(--sp-8d5);
}

.testimonial figure.media--adapt {
  width: auto;
}

.testimonial figure.media--adapt>img {
  max-width: var(--media-width);
  max-height: var(--media-height);
}

.testimonial figure+cite {
  line-height: normal;
  margin-block-start: var(--sp-2d5);
}

.testimonials .flickity-page-dots {
  margin-block-start: clamp(var(--sp-6), 2.105vw, var(--sp-10));
}

.banner .testimonial :is(figure, cite) {
  opacity: 0.6;
}

.testimonials>.testimonial~.testimonial,
.no-js .testimonials .testimonial:not(:first-child) {
  display: none;
}

/*! reveal-testimonials */

.reveal-testimonials blockquote {
  text-align: unset;
  padding-block: 0;
  display: grid;
  gap: var(--sp-10);
}

.reveal-testimonials blockquote::before {
  content: none;
}

.reveal-testimonials blockquote p {
  font-size: clamp(var(--text-lg), 1.053vw, var(--text-xl));
}

.reveal-testimonials :is(figure, cite) {
  margin-block: 0;
}

.reveal-testimonials .testimonial {
  padding: var(--sp-6);
  border-radius: var(--rounded-block);
  backdrop-filter: blur(12px);
}

.reveal-testimonials .testimonial:nth-child(even) {
  justify-self: flex-start;
  background-color: color-mix(in srgb, rgb(var(--color-foreground) / 0.25) 25%, rgb(var(--color-base-background)) 70%);
}

.reveal-testimonials .testimonial:nth-child(odd) {
  justify-self: flex-end;
  background-color: rgb(var(--color-base-background) / 0.75);
}

.reveal-testimonials .testimonial:is(:first-child, :last-child) {
  justify-self: center;
}

.testimonials-title .split-words+.whitespace {
  width: 0.2em;
}

@media screen and (min-width: 768px) {
  .reveal-testimonials {
    padding-block-start: clamp(var(--sp-8), 2.526vw, var(--sp-12));
    width: calc(clamp(340px, 30vw, 480px) * 2 - var(--sp-20));
  }

  .reveal-testimonials .testimonial {
    width: clamp(340px, 30vw, 480px);
  }

  .testimonials-title {
    position: sticky;
    inset-block-start: 50%;
    transform: translateY(-50%);
  }

  .testimonials-title .split-words~.split-words {
    transform: translateY(100%);
  }
}

@media screen and (min-width: 1024px) {
  .reveal-testimonials .testimonial {
    padding-inline: var(--sp-8);
  }
}

/*! timeline */

.slider .timeline {
  --slider-item-width: var(--slider-container);
  --card-grid-gap: var(--sp-10);
}

.slider .timeline.with-only1 {
  --slider-item-width: var(--slider-container);
}

.slider .timeline::after {
  content: '';
}

.timeline__item {
  width: 100%;
}

.timeline__item>.flex {
  border-radius: var(--rounded-block);
  background-color: rgb(var(--color-foreground)/ 0.04);
}

.timeline__item::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-color: rgb(var(--color-background)/ 0.75);
  transition: opacity var(--animation-primary);
}

.timeline__item.selected::after {
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  .timeline__item::after {
    content: none;
  }
}

.timeline__item-content {
  padding: var(--sp-7d5);
}

.timeline__item-content .button {
  margin-block-start: var(--sp-4d5);
}

.timeline__item-content .heading {
  padding-block-end: var(--sp-2);
}

.timeline-dots {
  width: max-content;
  min-width: 100%;
  margin-block-start: var(--sp-8);
  grid: auto / repeat(var(--section-blocks-count, 5), minmax(0, 1fr));
}

.timeline-dots button {
  word-break: normal;
  transition: color var(--animation-primary);
}

.timeline-dots button[aria-current=false] {
  color: rgb(var(--color-foreground)/ 0.25);
}

.timeline-dots button::after {
  content: '';
  display: block;
  background-color: rgb(var(--color-foreground)/ 0.25);
  width: 100%;
  height: 1px;
  min-width: var(--sp-10);
}

@media screen and (min-width: 768px) {
  .timeline__item>.flex {
    gap: var(--grid-gap);
  }

  .timeline__item-content {
    padding-inline-start: 0;
    padding-inline-end: var(--grid-gap);
    padding-block: var(--grid-gap);
  }

  .timeline__item>.md\:grid-row-reverse .timeline__item-content {
    order: -1;
    padding-inline-end: 0;
    padding-inline-start: var(--grid-gap);
  }

  .timeline-dots button::after {
    min-width: var(--sp-24);
  }
}

@media screen and (min-width: 1024px) {
  .timeline__item>.flex {
    gap: var(--sp-18);
  }

  .timeline__item-content {
    padding-inline-end: var(--sp-18);
    padding-block: var(--sp-24);
  }

  .timeline__item-content .heading {
    padding-block-end: var(--sp-4d5);
  }

  .timeline-dots button::after {
    min-width: unset;
  }
}

@media screen and (min-width: 1280px) {
  .slider .timeline {
    --slider-item-width: calc(var(--slider-container) * 0.85);
  }

  .timeline-dots button {
    font-size: var(--fluid-base-to-2xl);
    letter-spacing: -0.025em;
  }

  .timeline-dots {
    margin-block-start: var(--sp-14);
  }
}

@media screen and (min-width: 1536px) {
  .slider .timeline {
    --slider-item-width: calc(var(--slider-container) * 0.6667);
  }
}

.no-js .timeline__item::after {
  content: none;
}

/*! portfolio */

.portfolio-section .button-wrapper {
  flex: 0 0 auto;
}

@media screen and (min-width: 1024px) {
  .portfolio-section .collage.on-scroll {
    grid-template-columns: 2fr 3fr;
  }
}

@media screen and (max-width: 1279px) {
  .portfolio-title.text-center {
    display: grid;
    justify-content: center;
    gap: 0;
  }
}

@media screen and (min-width: 1280px) {
  .portfolio-title.text-center:not(.xl\:hidden) {
    display: grid;
    justify-content: center;
    gap: 0;
  }
}

@media screen and (min-width: 768px) {
  .profile .portfolio-title {
    display: grid;
  }
}

.profile .title-wrapper {
  display: grid;
  margin-block-end: 0;
}

.profile .media {
  border-radius: var(--rounded-block);
}

.profile__content {
  padding: var(--sp-6);
  color: rgb(var(--color-foreground));
  background-color: rgb(var(--color-background)/ 0.5);
  backdrop-filter: blur(12px);
}

[data-rounded-block=round] .profile__content {
  border-end-start-radius: var(--rounded-block);
  border-end-end-radius: var(--rounded-block);
}

.profile__button {
  width: var(--sp-8);
  height: var(--sp-8);
  color: rgb(var(--color-background));
  background-color: rgb(var(--color-foreground));
}

.profile__button .icon {
  --tw-rotate: 0deg;
  width: var(--sp-3);
  height: var(--sp-3);
  stroke-width: 2;
  transform: rotate(var(--tw-rotate));
  transition: transform var(--animation-primary), opacity var(--animation-fast);
}

.profile__content .icon .fill {
  fill: rgb(var(--color-foreground));
}

.profile__button[aria-expanded=true] .icon {
  --tw-rotate: 90deg;
}

@media screen and (pointer: fine) {
  .profile__button:hover .icon {
    --tw-rotate: 90deg;
  }
}

@media screen and (min-width: 768px) {
  .profile__content {
    padding: var(--sp-7d5);
  }

  .profile-modal[active]>.overlay {
    backdrop-filter: blur(12px);
  }
}

@media screen and (min-width: 1280px) {
  .profile .spacing-section {
    display: block;
    height: var(--sp-8);
  }

  .profile__content {
    padding: var(--sp-10);
  }

  .profile__button {
    width: var(--sp-10);
    height: var(--sp-10);
  }

  .profile__button .icon {
    width: var(--sp-3d5);
    height: var(--sp-3d5);
  }
}

@media screen and (max-width: 639px) {
  .portfolio.mobile\:card-grid--2 .profile .media {
    border-end-start-radius: 0;
    border-end-end-radius: 0;
  }

  .portfolio.mobile\:card-grid--2 .profile__content {
    position: relative;
    padding: var(--sp-4);
    background-color: rgb(var(--color-background));
    backdrop-filter: none;
  }

  .portfolio.mobile\:card-grid--2 .profile__content .heading {
    font-size: var(--text-lg);
    line-height: 1.25;
  }

  .portfolio.mobile\:card-grid--2 .profile__button {
    position: absolute;
    inset-block-end: calc(100% + var(--sp-3));
    inset-inline-end: var(--sp-3);
  }
}

/*! video-hero */

.mobile\:deferred-media+.deferred-media {
  display: none;
}

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

  .mobile\:deferred-media,
  .mobile\:deferred-media[host] {
    display: none;
  }

  .mobile\:deferred-media+.deferred-media {
    display: block;
  }

  .mobile\:deferred-media+.deferred-media[host] {
    display: grid;
  }
}

.deferred-poster .play-button {
  width: var(--sp-10);
  height: var(--sp-10);
  inset-block-start: var(--sp-5);
  inset-inline-end: var(--sp-5);
  color: rgb(var(--color-base-text));
  background-color: rgb(var(--color-base-background));
  transition: var(--animation-short);
  transition-property: opacity, background-color, backdrop-filter;
}

@media screen and (min-width: 1024px) {
  .deferred-poster .play-button {
    width: var(--sp-12);
    height: var(--sp-12);
  }

  .deferred-poster .play-button .icon {
    width: var(--sp-4);
    height: var(--sp-4);
  }
}

video-media[playing] .deferred-poster .play-button {
  background-color: rgb(var(--color-base-background)/ 0.7);
  backdrop-filter: blur(12px);
}

video-media .deferred-poster .play-button {
  opacity: 1;
  visibility: visible;
}

video-media[playing] .deferred-poster .play-button .icon:first-child:not(:only-child),
video-media:not([playing]) .deferred-poster .play-button .icon:last-child:not(:only-child) {
  display: none;
}

.video-hero video-media .play-button {
  inset-block-start: auto;
  inset-block-end: var(--sp-5);
  inset-inline-end: var(--sp-5);
}

.js .section:not(.section--next-rounded) .video-hero video-media .play-button {
  inset-block-end: calc(var(--sp-5) + var(--border-radius));
}

.js .section:not(.section--next-rounded) .page-width .video-hero video-media .play-button {
  inset-block-end: var(--sp-5);
}

.video-hero__content {
  margin-block-start: -100vh;
}

.video-hero__content .banner__box {
  padding-block: 50vh 25vh;
}

.video-hero__content .banner__box>* {
  margin-block-start: 0;
  padding-block-end: 33vh;
}

/*! collage */

.collage.on-scroll {
  gap: var(--grid-gap);
  overflow: hidden;
}

@supports (overflow: clip) {
  .collage.on-scroll {
    overflow-y: clip;
    overflow-x: visible;
  }
}

.collage .title-wrapper {
  display: grid;
  margin-block-end: 0;
}

.collage .title-wrapper>:is(p) {
  margin-block-start: var(--sp-3);
}

.collage__item {
  border-radius: var(--rounded-block);
}

@media screen and (pointer: fine) {
  .collage__item.with-image .media+.media {
    transition: opacity var(--animation-primary);
  }

  .collage__item.with-image:hover .media+.media~* {
    color: rgb(var(--color-foreground));
  }

  .collage__item.with-image:hover .media+.media {
    opacity: 1;
    pointer-events: auto;
  }
}

.js .collage .banner .banner__overlay {
  height: 100%;
}

.collage .banner__overlay {
  background: linear-gradient(180deg, rgb(var(--color-overlay)/ 0) 50%, rgb(var(--color-overlay)/ var(--overlay-opacity)) 100%);
}

.collage .banner__overlay.items-start {
  background: linear-gradient(180deg, rgb(var(--color-overlay)/ var(--overlay-opacity)) 0%, rgb(var(--color-overlay)/ 0) 50%);
}

@media screen and (min-width: 768px) {
  .collage .banner__overlay.md\:items-start {
    background: linear-gradient(180deg, rgb(var(--color-overlay)/ var(--overlay-opacity)) 0%, rgb(var(--color-overlay)/ 0) 50%);
  }
}

.collage .banner__box {
  padding: var(--sp-6);
  height: 100%;
  width: 100%;
  min-width: unset;
  max-width: unset;
}

.collage .banner__box p~p {
  margin-block-start: var(--sp-2d5);
}

.collage.on-scroll .banner__box p {
  display: inline-block;
  max-width: max(62%, var(--sp-32));
}

.collage .deferred-media~* {
  transition: var(--animation-short);
  transition-property: opacity, visibility;
}

.collage .deferred-media[playing]~* {
  opacity: 0;
  visibility: hidden;
}

.collage .media-card__text {
  --tw-translate-x: 0;
}

@media screen and (max-width: 767px) {
  .collage-left,
  .collage-right {
    transform: translateY(0) !important;
  }
}

@media screen and (max-width: 1023px) {
  .collage.with-richtext {
    gap: clamp(var(--sp-8), 2.526vw, var(--sp-12));
  }
}

@media screen and (min-width: 1024px) {
  .collage.on-scroll {
    grid-template-columns: 1fr 2fr;
  }

  .collage.without-heading {
    grid-template-columns: 1fr;
  }

  .collage.with-richtext {
    gap: var(--grid-gap);
    grid-template-columns: 2fr 3fr;
  }

  .collage-medium.with-richtext {
    grid-template-columns: 1fr 1fr;
  }

  .collage-large.with-richtext {
    grid-template-columns: 3fr 2fr;
  }

  .collage .banner__box {
    padding: var(--sp-10);
  }
}

@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .collage.on-scroll .banner__box p {
    max-width: max(82%, var(--sp-32));
  }
}

@media screen and (min-width: 1280px) {
  .collage .title-wrapper {
    padding-inline-end: var(--grid-gap);
  }
}

@media screen and (min-width: 1536px) {
  .collage.with-richtext {
    gap: 0;
    grid-template-columns: 3fr 4fr;
  }

  .collage-medium.with-richtext {
    grid-template-columns: 1fr 1fr;
  }

  .collage-large.with-richtext {
    grid-template-columns: 4fr 3fr;
  }

  .collage.with-richtext,
  .collage.with-richtext .title-wrapper,
  .collage.with-richtext .rich-text {
    padding-inline: var(--grid-gap);
  }
}

/*! collage-grid */

.collage.with-grid {
  grid: auto-flow dense var(--row-height) / repeat(2, minmax(0, 1fr));
}

.collage.with-grid .collage__item {
  grid-area: span min(2, var(--row-span)) / span min(2, var(--column-span));
}

@media screen and (min-width: 768px) {
  .collage.with-grid {
    grid: auto-flow dense max(150px, min(100vw / 5, var(--row-height))) / repeat(10, minmax(0, 1fr));
  }

  .collage.with-grid .collage__item {
    grid-area: span var(--row-span) / span var(--column-span);
  }
}

/*! featured-collections */

.featured-collections .title-wrapper {
  margin-block-end: var(--sp-6);
}

.tab-list .scroll-area {
  overflow-y: auto;
}

.tab-list {
  margin-block-end: clamp(var(--sp-8), 2.526vw, var(--sp-12));
}

.tab__item {
  --buttons-border-width: 0;
}

.tab__item[disabled] {
  opacity: 1;
}

.tab__item.button--secondary {
  background-color: rgb(var(--color-foreground)/ 0.025);
}

.tab__item img {
  max-width: var(--sp-5d5);
}

@media screen and (max-width: 767px) {
  .tab-list :is(.scroll-area, .scroll-shadow) {
    padding-inline: var(--page-padding);
    margin-inline: calc(var(--page-padding) * -1);
  }

  .tab-list .scroll-shadow {
    padding-block: var(--buttons-border-width);
  }

  .tab__item {
    max-height: 2.75rem;
    font-size: var(--text-xs);
    padding: var(--sp-3d5) var(--sp-4);
  }
}

/*! countdown-timer */

.countdown__timer {
  --countdown-gap: var(--sp-8);
  column-gap: var(--countdown-gap);
  row-gap: calc(var(--countdown-gap) / 2);
}

.countdown__timer:not([hidden])+.countdown__message {
  display: none;
}

.countdown__item {
  display: grid;
  gap: var(--sp-2);
}

.countdown__item span {
  line-height: normal;
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.countdown__item p {
  position: relative;
  display: grid;
  align-items: center;
  line-height: 1;
  white-space: nowrap;
}

.countdown__timer.body .countdown__item p {
  font-weight: var(--font-body-weight);
  letter-spacing: var(--font-body-letter-spacing);
}

.countdown__timer.heading .countdown__item p {
  font-weight: var(--font-heading-weight);
  letter-spacing: var(--font-heading-letter-spacing);
}

.countdown__item p::after {
  content: ':';
  position: absolute;
  line-height: 1;
  font-size: var(--title-sm);
  inset-inline-end: calc(var(--countdown-gap) / -2);
  transform: translateX(calc(50% * var(--transform-logical)));
  color: rgb(var(--color-highlight));
}

.countdown__item:last-child p::after {
  content: none;
}

@media screen and (min-width: 1024px) {
  .countdown__timer {
    --countdown-gap: var(--sp-12);
  }
}

/*! image-comparison */

.image-comparison {
  --percent: 50%;
  --button-touch: 44px;
  --button-line: 3px;
  --button-width: 28px;
  --button-height: 48px;
  --svg-width: 10px;
  border-radius: var(--rounded-block);
}

@media screen and (min-width: 1024px) {
  .image-comparison {
    --button-line: 4px;
    --button-width: 38px;
    --button-height: 64px;
    --svg-width: 12px;
  }
}

.js .image-comparison {
  --percent: 10%;
}

.js .image-comparison[animate] {
  --percent: 50%;
}

@media (prefers-reduced-motion: reduce) {
  .js .image-comparison,
  .js .image-comparison[animate] {
    --percent: 50%;
  }
}

.image-comparison.animated .comparison__after {
  transition: clip-path var(--animation-smooth);
}

.image-comparison.animated .comparison__button {
  transition: var(--animation-smooth);
  transition-property: inset-block-start, inset-inline-start;
}

.image-comparison[data-layout=horizontal] .comparison__after {
  clip-path: inset(0px 0px 0px var(--percent));
}

.image-comparison[data-layout=vertical] .comparison__after {
  clip-path: inset(var(--percent) 0px 0px 0px);
}

.comparison__button {
  color: currentColor;
  background: none;
  border: none;
}

.image-comparison[data-layout=horizontal] .comparison__button {
  inset-block-start: 0;
  inset-inline-start: var(--percent);
  height: 100%;
  width: var(--button-touch);
  margin-inline-start: calc(var(--button-touch) / -2);
  cursor: col-resize;
}

.image-comparison[data-layout=vertical] .comparison__button {
  inset-inline-start: 0;
  inset-block-start: var(--percent);
  width: 100%;
  height: var(--button-touch);
  margin-block-start: calc(var(--button-touch) / -2);
  cursor: row-resize;
}

.comparison__button::before,
.comparison__button::after {
  content: '';
  z-index: -1;
  position: absolute;
  background-color: rgb(var(--color-background));
}

.image-comparison[data-layout=horizontal] .comparison__button::before,
.image-comparison[data-layout=horizontal] .comparison__button::after {
  width: var(--button-line);
  height: 50%;
  inset-inline-start: 50%;
  margin-inline-start: calc(var(--button-line) / -2);
}

.image-comparison[data-layout=vertical] .comparison__button::before,
.image-comparison[data-layout=vertical] .comparison__button::after {
  width: 50%;
  height: var(--button-line);
  inset-block-start: 50%;
  margin-block-start: calc(var(--button-line) / -2);
}

.image-comparison[data-layout=horizontal] .comparison__button::before {
  inset-block-start: 0;
}

.image-comparison[data-layout=horizontal] .comparison__button::after {
  inset-block-end: 0;
}

.image-comparison[data-layout=vertical] .comparison__button::before {
  inset-inline-start: 0;
}

.image-comparison[data-layout=vertical] .comparison__button::after {
  inset-inline-end: 0;
}

.comparison__button span {
  inset-block-start: 50%;
  inset-inline-start: 50%;
  width: var(--button-width);
  height: var(--button-height);
  margin-inline-start: calc(var(--button-width) / -2);
  margin-block-start: calc(var(--button-height) / -2);
  border-radius: var(--rounded-full);
  background-color: rgb(var(--color-background));
}

.image-comparison[data-layout=vertical] .comparison__button span {
  transform: rotate(90deg);
}

.comparison__button svg {
  width: var(--svg-width);
}

.comparison__after .placeholder {
  background-color: rgb(var(--color-base-text)/ 0.6);
}

@media screen and (max-width: 767px) {
  .image-comparison:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt) {
    height: auto;
  }

  .image-comparison:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt) .media {
    height: 0;
    padding-block-end: var(--ratio-percent);
  }
}

@media screen and (min-width: 768px) {
  .image-comparison.media--adapt .media {
    height: 0;
    padding-block-end: var(--ratio-percent);
  }
}

.image-comparison.scrolling .comparison__box {
  opacity: 0;
}

.comparison__box {
  padding: clamp(var(--sp-5), 2.105vw, var(--sp-10));
  color: rgb(var(--color-foreground));
  transition: opacity var(--animation-primary);
}

.comparison__box--center {
  align-items: center;
}

.comparison__box--end {
  align-items: flex-end;
}

.image-comparison[data-layout=vertical] .comparison__box {
  text-align: start;
  align-items: flex-end;
}

.image-comparison[data-layout=vertical] .comparison__box--center {
  text-align: center;
}

.image-comparison[data-layout=vertical] .comparison__box--end {
  text-align: end;
}

.image-comparison[data-layout=vertical] .comparison__before .comparison__box {
  align-items: flex-start;
}

[data-lazy-image] .image-comparison[data-layout=horizontal] .media.loading::before,
[data-lazy-image] .image-comparison[data-layout=horizontal] .media.loading::after {
  inset-inline-start: calc(var(--percent) / 2);
}

[data-lazy-image] .image-comparison[data-layout=horizontal] .comparison__after .media.loading::before,
[data-lazy-image] .image-comparison[data-layout=horizontal] .comparison__after .media.loading::after {
  inset-inline-start: calc(calc(100% - var(--percent)) / 2 + var(--percent));
}

[data-lazy-image] .image-comparison[data-layout=vertical] .media.loading::before,
[data-lazy-image] .image-comparison[data-layout=vertical] .media.loading::after {
  inset-block-start: calc(var(--percent) / 2);
}

[data-lazy-image] .image-comparison[data-layout=vertical] .comparison__after .media.loading::before,
[data-lazy-image] .image-comparison[data-layout=vertical] .comparison__after .media.loading::after {
  inset-block-start: calc(calc(100% - var(--percent)) / 2 + var(--percent));
}

/*! lookbook */

@keyframes hotspot {
  0% {
    transform: scale(1)
  }

  50% {
    transform: scale(0.9)
  }

  to {
    transform: scale(1)
  }
}

.page-width lookbook-element {
  overflow: hidden;
  border-radius: var(--rounded-block);
}

.js .page-width lookbook-element.banner :is(.banner__overlay, .banner__media) {
  height: 100%;
}

@media screen and (min-width: 768px) {
  lookbook-element .banner__box {
    min-width: auto;
    max-width: 28rem;
    color: rgb(var(--color-foreground));
  }
  
  lookbook-element .banner__box .title-wrapper {
    text-align: inherit;
    flex-direction: column;
  }
  
  lookbook-element .banner__content .text-left .title-wrapper {
    align-items: flex-start;
  }

  lookbook-element .banner__content .text-center .title-wrapper {
    align-items: center;
  }
  
  lookbook-element .banner__content .text-right .title-wrapper {
    align-items: flex-end;
  }
}

.hotspot {
  --hotspot-width: var(--sp-11);
  width: var(--hotspot-width);
  height: var(--hotspot-width);
  inset-inline-start: var(--hotspot-x);
  inset-block-start: var(--hotspot-y);
  margin-inline-start: calc(var(--hotspot-width)/ -2);
  margin-block-start: calc(var(--hotspot-width)/ -2);
}

.hotspot::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: var(--rounded-full);
  background-color: rgb(var(--hotspot-color)/ 0.4);
  transition: box-shadow var(--animation-primary);
  animation: hotspot 2s ease infinite;
}

.hotspot::after {
  content: '';
  position: absolute;
  width: var(--sp-4);
  height: var(--sp-4);
  border-radius: var(--rounded-full);
  background-color: rgb(var(--hotspot-color));
  transition: transform var(--animation-primary);
}

@media screen and (pointer: fine) {
  .hotspot:hover::before {
    box-shadow: inset 0 0 0 var(--sp-0d5) rgb(var(--hotspot-color));
  }

  .hotspot:hover::after {
    transform: scale(1.7);
  }

  .hotspot:hover .hotspot__content {
    opacity: 1;
    transform: scale(1);
  }
}

.hotspot[aria-current=true] {
  z-index: 2;
}

.hotspot[aria-current=true]::after,
.hotspot.active::after {
  transform: scale(1.7);
}

.hotspot.active .hotspot__content {
  opacity: 1;
  transform: scale(1);
}

.hotspot__content {
  padding: var(--sp-2);
  color: rgb(var(--color-foreground));
  background-color: rgb(var(--color-background));
  border-radius: var(--sp-2d5);
  inset-block-start: calc(100% + var(--sp-6));
  opacity: 0;
  transform: scale(0.8);
  transition: var(--animation-primary);
  transition-property: opacity, transform;
}

.hotspot__content.with-left {
  inset-inline-start: 0;
}

.hotspot__content.with-right {
  inset-inline-end: 0;
}

.hotspot__content.with-bottom {
  inset-block-start: auto;
  inset-block-end: calc(100% + var(--sp-6));
}

.with-content .hotspot__content .rte {
  min-width: var(--sp-72);
}

.with-content .hotspot__content .rte>.media {
  margin-block: 0;
}

.hotspot__content .rte {
  min-width: var(--sp-48);
  padding: var(--sp-2);
}

.hotspot__content .rte p {
  margin-block: 0;
}

.hotspot__content .icon {
  height: auto;
  inset-block-end: 100%;
  inset-inline-start: 50%;
  transform: translateX(calc(-50% * var(--transform-logical)));
  fill: rgb(var(--color-background));
}

.hotspot__content.with-left .icon {
  inset-inline-start: var(--sp-8);
}

.hotspot__content.with-right .icon {
  inset-inline-start: auto;
  inset-inline-end: var(--sp-8);
}

.hotspot__content.with-bottom .icon {
  inset-block-end: auto;
  inset-block-start: 100%;
  transform: translateX(calc(-50% * var(--transform-logical))) scaleY(-1);
}

.hotspot__content .media {
  width: var(--sp-15);
  border-radius: var(--sp-2d5);
}

.hotspot__content :is(.unit-price, .price__sale, .price__regular) {
  font-size: inherit;
}

@media screen and (min-width: 1024px) {
  .hotspot {
    --hotspot-width: var(--sp-15);
  }

  .hotspot::after {
    width: var(--sp-5);
    height: var(--sp-5);
  }

  .hotspot__content .media {
    width: var(--sp-20);
  }
}

/*! shop-the-look */

.shop-the-look .title-wrapper {
  margin-block-end: calc(clamp(var(--sp-8), 2.526vw, var(--sp-12)) - var(--sp-6));
}

.shop-the-look .title-wrapper>.grid {
  width: 100%;
}

.shop-the-look .banner .banner__media,
.shop-the-look .banner .banner__overlay {
  border-radius: var(--rounded-block);
}

.shop-the-look .product-card {
  width: 100%;
}

.shop-the-look .product-card--standard .product-card__content {
  padding-block-end: 0;
}

.shop-the-look .product-card--standard.product-card--thickness .product-card__content {
  padding-block-end: clamp(var(--sp-4), 1.263vw, var(--sp-6));
}

@media screen and (max-width: 1023px) {
  .shop-the-look .product-card {
    gap: var(--sp-4);
    margin-inline-end: var(--sp-10);
    align-items: center;
    grid-template-columns: auto 1fr;
    background-color: transparent;
    border-radius: 0;
  }

  .shop-the-look .product-card.mobile\:with-quick-add {
    display: grid;
    grid-template-columns: auto 1fr auto;
  }

  .shop-the-look .product-card__media {
    overflow: hidden;
    width: var(--sp-24);
    border-radius: var(--card-radius);
  }

  .shop-the-look .product-card__content {
    padding: 0;
  }

  .shop-the-look .product-card :is(.badges, .product-card__rating, .product-card__bottom, .quick-view__button, .quick-add) {
    display: none;
  }

  .shop-the-look .product-card__carousel {
    display: none;
  }

  .shop-the-look .product-card__carousel~img {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

@media screen and (max-width: 1023px) {
  .shop-the-look .product-card__content.text-center {
    text-align: unset;
  }

  .shop-the-look .product-card__content.text-center .product-card__details {
    display: flex;
  }
  
  .shop-the-look .product-card__content.text-center :is(.price, .unit-price, .product-card__bottom) {
    justify-content: unset;
  }
  
  .shop-the-look .product-card__content.text-center .price {
    align-items: unset;
    flex-direction: unset;
  }
  
  .shop-the-look .product-card__content.text-center .price__sale {
    place-self: unset;
  }
}

@media screen and (max-width: 767px) {
  .shop-the-look .product-card__media {
    width: var(--sp-20);
  }
}

@media screen and (min-width: 1024px) {
  .shop-the-look {
    grid-template: "title title" "lookbook carousel" /minmax(0, 2fr) minmax(0, 1fr);
    grid-column-gap: var(--grid-gap);
  }

  .shop-the-look lookbook-element {
    grid-area: lookbook;
  }

  .shop-the-look carousel-element {
    grid-area: carousel;
  }

  .shop-the-look .title-wrapper {
    grid-area: title;
  }
}

@media screen and (min-width: 1536px) {
  .shop-the-look {
    grid-template: "lookbook title" "lookbook carousel" /minmax(0, 2fr) minmax(0, 1fr);
    grid-template-rows: auto 1fr;
  }

  .shop-the-look carousel-element,
  .shop-the-look .title-wrapper {
    padding-inline: var(--grid-gap);
  }

  .shop-the-look .title-wrapper {
    text-align: unset;
  }

  .shop-the-look .title-wrapper .description {
    justify-self: unset;
  }
}

.shop-the-look carousel-element>.product-card~.product-card,
.no-js .shop-the-look carousel-element .product-card:not(:first-child) {
  display: none;
}

/*! slideshow */

.page-width .slideshow {
  border-radius: var(--rounded-block);
  transform: translateZ(0);
  overflow: hidden;
}

.page-width .slideshow :is(.banner, .banner__overlay) {
  border-radius: 0;
}

.page-width .slideshow .banner {
  margin-inline-end: 0;
}

.slideshow {
  transform: translateZ(0);
}

.slideshow .flickity-viewport {
  height: 100%;
}

.slideshow>.banner~.banner {
  display: none;
}

.slideshow:not(.slideshow--hero) :is(.banner, .banner__overlay) {
  border-radius: var(--rounded-block);
}

.slideshow:not(.slideshow--hero) .banner {
  margin-inline-end: var(--sp-7d5);
  max-width: var(--page-container);
}

.slideshow .banner__overlay {
  background: linear-gradient(180deg, rgb(var(--color-overlay)/ var(--overlay-opacity)) 50%, rgb(var(--color-overlay)/ calc(var(--overlay-opacity) * 4)) 100%);
}

.slideshow-logo {
  padding-block-end: calc(var(--grid-gap) + clamp(var(--sp-4), 2.105vw, var(--sp-10)) + var(--sp-4d5));
}

.slideshow-content {
  padding: var(--page-padding);
}

@media screen and (min-width: 1024px) {
  .slideshow-content {
    padding: var(--grid-gap);
  }
}

@media screen and (min-width: 1536px) {
  .slideshow-content {
    padding-inline: calc(var(--grid-gap) * 2);
  }

  .page-width .slideshow+.page-width .slideshow-content {
    padding-inline: var(--grid-gap);
  }
}

.no-js .slideshow-dots {
  display: none;
}

.slideshow-dots .icon {
  width: clamp(var(--sp-8), 2.105vw, var(--sp-10));
  height: clamp(var(--sp-8), 2.105vw, var(--sp-10));
}

@media screen and (min-width: 640px) {
  .slideshow-dots {
    margin-block-start: var(--sp-8);
    border-block-start: 1px solid rgb(var(--color-border));
  }

  .slideshow-dots .flickity-page-dots {
    justify-content: flex-start;
    margin-block-start: clamp(var(--sp-4), 2.105vw, var(--sp-10));
    margin-block-end: calc(var(--sp-1d5) * -1);
    margin-inline-start: calc(var(--sp-1d5) * -1);
  }
}

.slideshow-words .banner__box {
  padding-block: 0;
}

.slideshow-word:not([aria-current=true]) {
  display: none;
}

@media screen and (max-width: 639px) {
  .slideshow-word .split-words .word {
    white-space: unset;
  }
}

.slideshow-control:focus {
  clip: auto;
  color: rgb(var(--color-button-text));
  background: var(--color-button-gradient);
  background-color: rgb(var(--color-button-background));
  margin: 0;
  transition: none;
  z-index: 10000;
  width: var(--sp-12);
  height: var(--sp-12);
  inset-block-start: var(--sp-5);
  inset-inline-start: 50%;
  transform: translateX(calc(-50% * var(--transform-logical)));
}

.slideshow-control[paused] .slideshow-control__pause,
.slideshow-control__play {
  display: none;
}

.slideshow-control[paused] .slideshow-control__play {
  display: block;
}

.slideshow-control .icon {
  width: var(--sp-4);
  height: var(--sp-4);
}

.slideshow:not(.flickity-enabled) .banner,
.no-js .slideshow .banner {
  margin-inline: auto;
  position: relative;
}

.no-js .slideshow .banner:not(:first-child) {
  display: none;
}

@media screen and (min-width: 1024px) {
  .slideshow--hero {
    --title-md: clamp(var(--sp-8), 6.737vw, var(--sp-16));
  }
}

.slideshow--hero.flickity-enabled {
  max-height: var(--max-height);
}

.slideshow--hero .flickity-viewport {
  height: calc(var(--max-height) + var(--border-radius));
}

.slideshow--hero .slideshow-content {
  padding-inline: 0;
}

@media screen and (min-width: 768px) {
  .js .hero-section {
    position: sticky;
    inset-block-start: 0;
  }
}

.hero-section.hero-scrolled {
  position: static;
}

[data-page-rendering] #MainContent .shopify-section+.shopify-section~.shopify-section {
  content-visibility: auto;
}

.shopify-design-mode [data-page-rendering] #MainContent .shopify-section+.shopify-section~.shopify-section,
.no-js [data-page-rendering] #MainContent .shopify-section+.shopify-section~.shopify-section,
.no-touch [data-page-rendering] #MainContent .shopify-section+.shopify-section~.shopify-section {
  content-visibility: visible;
}

[data-page-rendering] .media.loading::after {
  animation: none;
}

[data-page-rendering] .label-swatch,
[data-page-rendering] .label-swatch::after,
[data-page-rendering] .color-swatch::after,
[data-page-rendering] .product__info.lg\:sticky,
[data-page-rendering] .product__gallery-container.lg\:sticky {
  transition-property: none;
}

/*! product-countdown */

.product-countdown {
  padding: var(--sp-4) var(--sp-5);
  color: rgb(var(--color-foreground));
  background: var(--gradient-background);
  background-color: rgb(var(--color-background));
}

[data-rounded-block=round] .product-countdown {
  border-radius: var(--sp-2d5);
}

.product-countdown .icon-xl {
  width: var(--sp-8);
  height: var(--sp-8);
}

.product-countdown .countdown__timer {
  --countdown-gap: var(--sp-5);
}

.product-countdown .countdown__item {
  position: relative;
  gap: var(--sp-0d5);
  padding: var(--sp-1d5) var(--sp-2d5);
  background-color: rgb(var(--color-modal-background, var(--color-base-background)));
}

[data-rounded-block=round] .product-countdown .countdown__item {
  border-radius: var(--sp-1d5);
}

.product-countdown .countdown__item p {
  position: static;
  line-height: 1.25;
  font-weight: 700;
  font-size: var(--text-base);
}

@media screen and (min-width: 1024px) {
  .product-countdown .countdown__item p {
    font-size: var(--text-lg);
  }
}

@media screen and (min-width: 1280px) {
  .product-countdown .countdown__item p {
    font-size: var(--text-xl);
  }
}

.product-countdown .countdown__item p::after {
  font-size: var(--text-xl);
  color: rgb(var(--color-foreground));
  inset-block-start: 50%;
  transform: translateX(calc(50% * var(--transform-logical))) translateY(-50%);
}

.product-countdown .countdown__item span {
  line-height: 1;
  font-size: var(--text-3xs);
}

/*! Back-in-stock */

.back-in-stock {
  padding: var(--sp-5) var(--sp-6);
  background-color: rgb(var(--color-foreground)/ 0.025);
}

[data-rounded-block=round] .back-in-stock {
  border-radius: var(--sp-2d5);
}

.back-in-stock .input {
  background-color: rgb(var(--color-background));
}

.back-in-stock.buy-buttons {
  background-color: transparent;
  padding: 0;
  border-radius: 0;
}

/*! product-details */

.specifications {
  gap: var(--grid-gap);
}

.specifications .specification {
  padding-block-start: var(--sp-2d5);
}

.specifications .specification p:first-child {
  margin-block-start: 0;
}

.specifications .specification :is(ul, p):first-child,
.specifications .specification h6+:is(ul, p) {
  margin-block-start: 0;
}

.specifications .specification :is(ul, p):last-child {
  margin-block-end: 0;
}

.specifications .specification li {
  margin-block-start: 0;
}

.specifications .specification :is(h1, h2, h3, h4, h5, h6, .h0, .h1, .h2, .h3, .h4, .h5, .h6) {
  margin-block-end: var(--sp-2);
  margin-block-start: 0;
  font-weight: var(--font-medium);
}

.specifications.with-border .specification *:not(h1, h2, h3, h4, h5, h6, .h0, .h1, .h2, .h3, .h4, .h5, .h6) {
  color: rgb(var(--color-foreground)/ 0.6);
}

.specifications .specification .col-span-full:nth-child(odd):last-child {
  grid-column: 1/-1;
}

.specifications .specification>.col-span-full>*+.grid {
  padding-block-start: var(--sp-6);
  border-block-start: 1px solid rgb(var(--color-border));
}

.specifications .accordion .details__content {
  max-width: 100%;
}

.specs__sidebar {
  background-color: rgb(var(--color-foreground)/ 0.025);
  padding: var(--sp-7d5) var(--gap-padding);
  border-radius: var(--rounded-block);
}

.specs__sidebar>ul li {
  width: var(--sp-24);
}

.specs__sidebar .media {
  width: var(--sp-24);
  height: var(--sp-24);
  background-color: rgb(var(--color-background));
}

.specs__sidebar .media img {
  max-width: var(--sp-12);
}

.specifications .grow+.grow-0 {
  padding-block-start: var(--sp-18);
}

.specs__sidebar .icon-box {
  width: var(--sp-56);
  height: auto;
  position: absolute;
  inset-block-end: 100%;
  inset-inline-start: 50%;
  transform: translateX(calc(-50% * var(--transform-logical)));
}

.specs__sidebar .icon-box .fill {
  fill: rgb(var(--color-background));
}

@media screen and (min-width: 768px) {
  .specs__sidebar {
    padding: var(--sp-10);
  }
}

@media screen and (min-width: 1024px) {
  .specs__sidebar {
    width: clamp(340px, 30vw, 480px);
    padding-inline: var(--sp-12);
  }

  .specifications .grow+.grow-0 {
    padding-block-start: 0;
  }
}

@media screen and (min-width: 1536px) {
  .specifications-section :is(.title-wrapper, .specifications) {
    padding-inline: calc(var(--grid-gap) * 2);
  }
}

.specifications.with-background .accordions {
  border-block: none;
}

.specifications.with-background .accordion {
  background-color: rgb(var(--color-foreground)/ 0.04);
}

[data-rounded-block=round] .specifications.with-background .accordion {
  border-radius: var(--sp-2d5);
}

.specifications.with-background .accordion+.accordion {
  border-block-start: none;
  margin-block-start: var(--sp-1);
}

.specifications.with-background .accordion :is(.details__summary, .details__content) {
  padding: var(--sp-7);
}

@media screen and (min-width: 1024px) {
  .specifications.with-background .accordion :is(.details__summary, .details__content) {
    padding: var(--sp-8d5);
  }
}

.specifications.with-background .accordion .details__content {
  padding-block-start: 0;
}

.product-sticky-form__card {
  border-block-start: 1px solid rgb(var(--color-border));
  background-color: rgb(var(--color-background));
  padding: var(--sp-4) var(--sp-5);
}

[data-rounded-block=round] .product-sticky-form__card {
  border-start-start-radius: var(--border-radius);
  border-start-end-radius: var(--border-radius);
}

[data-rounded-block=round] .product-sticky-form .media {
  border-radius: var(--sp-2);
}

.product-sticky-form .product-form__error-message {
  padding: 0;
  background-color: transparent;
}

.product-sticky-form__variant {
  grid-template-columns: minmax(0, 1fr) auto;
}

@media screen and (min-width: 768px) {
  .product-sticky-form {
    width: 550px;
    inset-inline-end: var(--sp-5);
    inset-block-end: var(--sp-5);
  }

  .product-sticky-form__card {
    padding: var(--sp-4);
    border: 1px solid rgb(var(--color-border));
  }

  [data-rounded-block=round] .product-sticky-form__card {
    border-radius: var(--sp-3);
  }

  .product-sticky-form__variant {
    grid-template-columns: 80px minmax(0, 1fr) auto;
  }

  .product-sticky-form__variant.no-image {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

@media screen and (max-width: 767px) {
  .product-sticky-form .button {
    padding: 0;
    width: var(--sp-11);
    height: var(--sp-11);
  }

  .product-sticky-form__card::before {
    content: '';
    z-index: -1;
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    width: 100%;
    height: calc(100% + var(--border-radius));
    background-color: rgb(var(--color-background));
  }
  
  [data-rounded-block=round] .product-sticky-form__card::before {
    border-start-start-radius: var(--border-radius);
    border-start-end-radius: var(--border-radius);
  }
}

/*! reveal-banner */

[data-rounded-block=round] .reveal-banner {
  --rounded-block: var(--border-radius);
}

.reveal-banner__scroller {
  background: var(--gradient-background);
  background-color: rgb(var(--color-background));
  height: 200vh;
}

.reveal-banner__tracker {
  height: 120vh;
}

.reveal-banner__tracker2nd {
  height: 30vh;
  inset-block-start: 120vh;
}

@supports (height: 100lvh) {
  .reveal-banner__scroller {
    height: 200lvh;
  }
  
  .reveal-banner__tracker {
    height: 120lvh;
  }
  
  .reveal-banner__tracker2nd {
    height: 30lvh;
    inset-block-start: 120lvh;
  }
  
  .reveal-banner .banner {
    height: 100lvh;
  }
}

.no-js .reveal-banner__scroller {
  height: auto;
}

/*! splitting-banner */

.splitting-banner svg.placeholder {
  background-color: rgb(var(--color-base-text));
  fill: rgb(var(--color-base-background));
  color: rgb(var(--color-base-background));
}

.splitting-banner .reveal-banner__scroller {
  height: 120vh;
}

.splitting-banner .reveal-banner__tracker {
  inset-block-start: 20%;
  height: calc(100vh - 20%);
}

.splitting-banner .reveal-banner__tracker2nd {
  height: 60%;
  inset-block-start: 60%;
}

@supports (height: 100lvh) {
  .splitting-banner .reveal-banner__scroller {
    height: 120lvh;
  }
  
  .splitting-banner .reveal-banner__tracker {
    height: calc(100lvh - 20%);
  }
}

.splitting-banner .media--transparent.loading {
  background-color: transparent;
}

.js .splitting-wrapper {
  opacity: 0;
}

.no-js .splitting-banner .reveal-banner__scroller {
  position: static;
}

.no-js .splitting-banner .reveal-banner__scroller,
.no-js .splitting-banner .reveal-banner__scroller .banner {
  height: auto;
}

/*! highlight-text */

.highlight-text>* {
  vertical-align: middle;
  padding-inline: var(--sp-2);
}

.highlight-text .media--transparent.loading {
  background-color: transparent;
}

.highlight-text :is(img, svg) {
  display: inline;
}

[data-rounded-block=round] .highlight-text .media {
  border-radius: var(--rounded-full);
}

@media screen and (pointer: fine) {
  .highlight-text a .media svg {
    transition: var(--animation-primary);
    transition-property: opacity, transform;
  }
  
  .highlight-text a:hover .media :is(img, svg) {
    transform: scale(1.07);
  }
}

/*! product-bundle */

.product-bundle__sidebar {
  color: rgb(var(--color-foreground));
  background-color: rgb(var(--color-background));
  border: 2px solid rgb(var(--color-foreground));
  padding: var(--sp-5);
  border-radius: var(--rounded-block);
  max-height: calc(100vh - var(--header-height));
  max-height: calc(100svh - var(--header-height));
}

@media screen and (min-width: 1024px) {
  .product-bundle__sidebar {
    width: clamp(340px, 25vw, 430px);
    padding: var(--sp-7d5);
    max-height: calc(100vh - var(--sticky-header-height) - 40px);
    max-height: calc(100svh - var(--sticky-header-height) - 40px);
  }
}

@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .product-bundle-wrapper .card-grid {
    --card-grid-per-row: 2;
  }
}

.product-bundle__sidebar .title-wrapper {
  margin-block-end: 0;
}

.product-bundle__sidebar .free-shipping-bar progress-bar::before {
  --tw-scale-x: var(--progress);
}

.product-bundle__sidebar .horizontal-product {
  padding-block: 0;
}

.product-bundle__sidebar .horizontal-product+.horizontal-product {
  border-block-start: 0;
}

.product-bundle__sidebar .horizontal-product:not([data-variant-id]) .media {
  aspect-ratio: 1 / 1;
}

.product-bundle__sidebar .cart-quantity {
  height: var(--sp-8d5);
  width: var(--sp-10d5);
}

@media screen and (min-width: 1024px) {
  .product-bundle__sidebar .cart-quantity .quantity__input {
    padding-inline-end: var(--sp-1);
  }
}

@media screen and (min-width: 1280px) {
  .product-bundle__sidebar .cart-quantity {
    height: var(--sp-12);
    width: var(--sp-18);
  }

  .product-bundle__sidebar .cart-quantity .quantity__input {
    padding-inline-end: var(--sp-3);
  }
}

.product-bundle__body {
  overflow-x: hidden;
  overflow-y: auto;
  scroll-behavior: smooth;
  scroll-snap-type: y mandatory;
  scrollbar-color: auto;
  scrollbar-width: thin;
  padding-inline-end: var(--sp-5);
  margin-inline-end: calc(var(--sp-5) * -1);
}

.product-bundle__body::-webkit-scrollbar {
  -webkit-appearance: none;
  background-clip: padding-box;
  background-color: transparent;
  border-radius: var(--rounded-full);
  width: var(--sp-1d5)
}

.product-bundle__body::-webkit-scrollbar-thumb {
  background-clip: padding-box;
  background-color: rgb(var(--color-foreground)/ 0.2);
  border-radius: var(--rounded-full)
}

.product-bundle__footer {
  padding-block-start: var(--sp-2d5);
  border-block-start: 1px solid rgb(var(--color-border-light));
}

.product-bundle__footer .button[disabled]~p {
  display: none;
}

.product-bundle-wrapper[locked] .product-form__submit,
.product-card[locked] .product-form__submit {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}

.horizontal-product[available] .horizontal-product__quantity {
  opacity: 0;
  pointer-events: none;
}

@media screen and (max-width: 1023px) {
  .product-bundle-wrapper>.lg\:grow {
    margin-block-end: -60vh;
    margin-block-end: -60lvh;
  }

  .product-bundle-wrapper>.lg\:grow-0 {
    position: sticky;
    z-index: 25;
    inset-block-end: 0;
    padding-block-start: calc(60vh + var(--sp-5));
    padding-block-start: calc(60lvh + var(--sp-5));
  }

  .product-bundle-wrapper>.lg\:grow-0.active {
    z-index: 30;
  }

  .product-bundle__sidebar {
    --color-background: var(--color-base-text);
    --color-foreground: var(--color-base-background);
    --color-price: var(--color-foreground);
    --color-button-background: var(--color-foreground);
    --color-button-border: var(--color-foreground);
    --color-button-text: var(--color-background);
    --color-border: var(--color-foreground)/ 0.1;
    --color-border-light: var(--color-foreground)/ 0.06;
    background-color: rgb(var(--color-background)/ 0.85);
    backdrop-filter: blur(20px);
    margin-inline: calc(var(--page-padding)* -1);
    border: none;
    border-radius: 0;
  }

  [data-rounded-block=round] .product-bundle__sidebar {
    border-start-start-radius: var(--border-radius);
    border-start-end-radius: var(--border-radius);
  }

  .product-bundle:not(.active) .product-bundle__body {
    display: none;
  }

  .product-bundle__footer {
    border-block-start: 0;
    padding-block-start: 0;
  }

  .product-bundle__footer .btn-text {
    border-inline-start: 1px solid currentColor;
    padding-inline-start: var(--sp-3d5);
  }

  .product-bundle__toggle>.icon {
    width: var(--sp-6);
    height: var(--sp-6);
  }

  .product-bundle.active .product-bundle__toggle>.icon {
    transform: scaleY(-1);
  }

  .product-bundle :is(.input, .select, .textarea) {
    background-color: rgb(var(--color-foreground));
    color: rgb(var(--color-background));
  }

  @media screen and (pointer: fine) {
    .product-bundle__footer .btn-price {
      transition: color var(--animation-primary);
      transition-delay: 0.1s;
    }
  }
}

/*! shop-the-feed */

.shop-the-feed-section .title-wrapper .heading+.description {
  margin-block-start: calc(var(--sp-2) * -1);
}

.shop-the-feed .color-swatch {
  --color-foreground: var(--color-base-text);
  --color-background: var(--color-base-background);
  border-radius: 0;
}

.shop-the-feed .color-swatch::before,
.shop-the-feed .color-swatch::after {
  content: none;
}

.shop-the-feed .horizontal-product {
  --cart-item-media-width: clamp(var(--sp-10), 3.368vw, var(--sp-16));
  padding-block-end: 0;
}

.shop-the-feed .horizontal-product__media,
.shop-the-feed .horizontal-product__media .media {
  height: auto;
}

.shop-the-feed .horizontal-product__media .media {
  border-radius: 0;
}

[data-rounded-block="round"] .shop-the-feed .horizontal-product__media .media {
  border-radius: 5px;
}

.shop-the-feed .product-card__media>.media {
  border-radius: var(--card-radius);
}

.shop-the-feed .product-card__media>.media>img:has(~video-media),
.shop-the-feed .product-card__media>.media>img~video-media>img {
  transform: none;
}

.shop-the-feed .media-card {
  border-radius: 0;
  background-color: transparent;
}

.shop-the-feed .badges {
  color: rgb(var(--color-foreground));
  inset-inline-start: auto;
  inset-inline-end: var(--sp-3);
  inset-block-end: var(--sp-3);
}

@media screen and (min-width: 768px) {
  .shop-the-feed .badges {
    inset-inline-end: var(--sp-5);
    inset-block-end: var(--sp-5);
  }
}

@media screen and (pointer: fine) {
  .shop-the-feed .product-card__media video-media {
    transition: opacity var(--animation-primary);
  }

  .shop-the-feed .media-card:hover video-media {
    opacity: 1;
    pointer-events: auto;
  }

  .shop-the-feed .horizontal-product__media {
    transition: width var(--animation-primary);
  }

  .shop-the-feed .horizontal-product:has(~ .media-card__button:focus-visible) .horizontal-product__media,
  .shop-the-feed .media-card:hover .horizontal-product__media {
    width: calc(var(--cart-item-media-width) * 0.8);
  }

  .shop-the-feed .media-card__content {
    gap: 0;
  }

  .shop-the-feed .media-card__button {
    max-height: 0;
    opacity: 0;
    pointer-events: none;
    border-radius: var(--buttons-radius);
    transition: var(--animation-primary);
    transition-property: max-height, opacity, margin;
  }

  .shop-the-feed .media-card__button .button {
    min-height: 3.125rem;
    padding-block: var(--sp-4);
  }

  .shop-the-feed .media-card__button:focus-visible,
  .shop-the-feed .media-card:hover .media-card__button {
    opacity: 1;
    max-height: 3.75rem;
    pointer-events: auto;
    margin-block-start: var(--sp-3);
  }
}

.social-account .social-account__media {
  --image-max-width: clamp(var(--sp-16), 4.21vw, var(--sp-20));
  --image-max-width-mobile: clamp(var(--sp-16), 4.21vw, var(--sp-20));
  padding: 3px;
  background-image: linear-gradient(30deg, #F7D00B 10%, #F60E0E 52%, #B700FF 94%);
}

.social-account .social-account__media img {
  padding: 3px;
  border-radius: 50%;
  background-color: rgb(var(--color-background));
}

.text-right .social-account,
.text-right .social-account>.flex {
  flex-direction: row-reverse;
}

.text-center .social-account {
  justify-content: center;
}

.social-feed .product__info {
  padding-inline: 0;
  padding-block-start: 0;
}

.js .product__feed .drawer__header::before {
  content: none;
}

.product__feed .drawer__header {
  border-block-end: 1px solid rgb(var(--color-border-light));
  padding: var(--sp-8) var(--sp-5) var(--sp-6);
}

.product__feed .social-account {
  border-block-start: 1px solid rgb(var(--color-border-light));
  padding: var(--sp-6) var(--sp-5);
}

.product__feed .product__more {
  margin-block-start: 0;
  padding-inline: var(--sp-5);
}

@media screen and (min-width: 1024px) {
  .social-feed .product,
  .social-feed .product__gallery,
  .social-feed .product__content {
    height: auto;
  }

  .social-feed .drawer__content {
    overflow: hidden;
  }

  .social-feed .product {
    --product-grid: auto / minmax(0, 1.1fr) minmax(0, 0.9fr);
    grid: var(--product-grid);
  }

  .product__feed {
    position: absolute;
  }

  .product__feed .drawer__header,
  .product__feed .account__grid,
  .product__feed .product__more {
    padding-inline: var(--sp-12);
  }

  .product__feed .social-account {
    padding-inline: var(--sp-12);
  }
}

@media screen and (min-width: 1536px) {
  .product__feed .drawer__header {
    padding-block-end: var(--sp-8);
    padding-block-start: var(--sp-10);
  }
}

@media screen and (max-width: 639px) {
  .shop-the-feed .mobile\:card-grid--2 .horizontal-product {
    padding-block-end: 0;
  }

  .shop-the-feed .mobile\:card-grid--2 .horizontal-product__media {
    width: calc(var(--cart-item-media-width) * 0.8);
  }

  .shop-the-feed .mobile\:card-grid--2 .media-card__button {
    clip: rect(0, 0, 0, 0);
    border-width: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px
  }
}

.touch .shop-the-feed .product-card__media video-media {
  opacity: 1;
  pointer-events: visible;
}

.touch .shop-the-feed .product-card__media img:has(~video-media) {
  pointer-events: none;
}

/*! newsletter-popup */

.newsletter-section {
  display: none;
}

/*! Shopify Cookie banner */

#shopify-pc__banner {
  display: none !important;
}

/*! custom-section */

.custom-section .overlay {
  z-index: var(--overlay-layer);
}

.custom-section .overlay--solid {
  background: var(--overlay-color);
}

.custom-section .overlay--gradient {
  background: linear-gradient(var(--overlay-direction), var(--overlay-color), var(--overlay-color--end));
}

.custom-section .media--contain>video {
  object-fit: contain;
}

.custom-section .newsletter-form {
  max-width: 100%;
  width: 28rem;
}

.custom-section .newsletter-form:is(.mobile\:w-fill, .mobile\:w-custom) {
  width: 100%;
}

@media screen and (max-width: 639px) {
  .custom-section .newsletter-form:is(.mobile\:w-fit-content) {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .custom-section .newsletter-form:is(.w-fill, .w-custom) {
    width: 100%;
  }
}

.custom-section .media--custom {
  height: var(--section-height)
}

@media screen and (max-width: 767px) {
  .custom-section .mobile\:media--custom {
    height: var(--section-height-mobile)
  }
}

.custom-section .highlighted-text {
  z-index: 0;
}

.section-content {
  gap: var(--gap);
}

.group-block >:is(.group-block__media, .group-block__content, .overlay) {
  border-radius: var(--border-radius);
}

.group-block >.group-block__content {
  border-width: var(--border-width);
  border-style: var(--border-style);
  border-color: var(--border-color);
}

.group-block__link ~:is(.group-block__media, .group-block__content) {
  pointer-events: none;
}

.group-block__link ~:is(.group-block__media, .group-block__content) :is(a, button, input, textarea, select) {
  pointer-events: auto;
}

.group-block__content {
  gap: var(--gap);
}

.size-style {
  width: var(--size-style-width-mobile, var(--size-style-width));
  height: var(--size-style-height-mobile, var(--size-style-height));

  @media screen and (width >= 768px) {
    width: var(--size-style-width);
    height: var(--size-style-height);
  }
}

.spacing-style {
  --spacing-scale: 0.7;

  @media screen and (width >= 1024px) {
    --spacing-scale: 1.0;
  }

  --padding-block: 0px;
  --padding-block-start: var(--padding-block, 0px);
  --padding-block-end: var(--padding-block, 0px);
  --padding-inline: 0px;
  --padding-inline-start: var(--padding-inline, 0px);
  --padding-inline-end: var(--padding-inline, 0px);
  --margin-block: 0px;
  --margin-block-start: var(--margin-block, 0px);
  --margin-block-end: var(--margin-block, 0px);
  --margin-inline: 0px;
  --margin-inline-start: var(--margin-inline, 0px);
  --margin-inline-end: var(--margin-inline, 0px);

  padding-block: var(--padding-block-start) var(--padding-block-end);
  padding-inline: var(--padding-inline-start) var(--padding-inline-end);
  margin-block: var(--margin-block-start) var(--margin-block-end);
  margin-inline: var(--margin-inline-start) var(--margin-inline-end);
}

.border-style {
  border-width: var(--border-width);
  border-style: var(--border-style);
  border-color: var(--border-color);
  border-radius: var(--border-radius);
}

.content-style {
  color: rgb(var(--color-foreground));
  background: var(--gradient-background);
  background-color: rgb(var(--color-background));
}

.flex-row > .group-block--width-fit {
  flex: 0;
}

.flex-row > .group-block--width-fill {
  flex: 1;
}

.flex-row > .group-block--width-custom {
  flex-basis: var(--size-style-width);
}

.group-block--height-fit {
  height: auto;
}

.group-block--height-custom,
.group-block--height-fill {
  height: var(--size-style-height);
}

.flex-col > .group-block--height-fit {
  flex: 0 1 auto;
}

.flex-col > .group-block--height-fill {
  align-self: stretch;
}

@media screen and (min-width: 768px) {
  .spacer-block--percent {
    flex: var(--spacer-size);
  }

  .flex-col > .spacer-block--pixel {
    height: var(--spacer-size);
  }

  :is(.flex-row, .md\:flex-row) > .spacer-block--pixel {
    width: var(--spacer-size);
  }
}

@media screen and (max-width: 767px) {
  .mobile\:spacer-block--percent {
    flex: var(--spacer-size-mobile, var(--spacer-size));
  }

  .flex-row > .mobile\:spacer-block--pixel {
    width: var(--spacer-size-mobile, var(--spacer-size));
  }

  .flex-col > .mobile\:spacer-block--pixel {
    height: var(--spacer-size-mobile, var(--spacer-size));
  }
}

.text-left>.countdown__timer {
  justify-content: flex-start;
}

.text-center>.countdown__timer {
  justify-content: center;
}

.text-right>.countdown__timer {
  justify-content: flex-end;
}

.number-counter.text-left .counter-card {
  align-items: flex-start;
}

.number-counter.text-center .counter-card {
  align-items: center;
}

.number-counter.text-right .counter-card {
  align-items: flex-end;
}

@media screen and (min-width: 768px) {
  .md\:text-left>.countdown__timer {
    justify-content: flex-start;
  }

  .md\:text-center>.countdown__timer {
    justify-content: center;
  }

  .md\:text-right>.countdown__timer {
    justify-content: flex-end;
  }

  .number-counter.md\:text-left .counter-card {
    align-items: flex-start;
  }

  .number-counter.md\:text-center .counter-card {
    align-items: center;
  }

  .number-counter.md\:text-right .counter-card {
    align-items: flex-end;
  }
}

.divider__line {
  border-bottom: var(--divider-border-thickness) solid rgb(var(--color-border));
  border-right: var(--divider-border-thickness) solid rgb(var(--color-border));
  border-radius: var(--divider-border-rounded);
  flex-basis: var(--divider-flex-basis);
  min-height: var(--divider-flex-basis);
}

/*! comparison-table */

.comparison-table {
  --card-grid-gap: var(--sp-3);
  padding-block-start: var(--sp-10);
}

.comparison-table__head {
  border-block-end: 1px solid currentColor;
  padding-block-start: var(--sp-2);
  padding-block-end: var(--sp-4);
}

.comparison-table__row {
  gap: var(--card-grid-gap);
  grid-template-columns: repeat(var(--values-columns-count), minmax(200px, 1fr));
}

.comparison-table__row.thead {
  padding-block-end: var(--sp-4);
}

.comparison-table__column.rte p:first-child {
  margin-block-start: 0;
}

.comparison-table__column.rte :is(ul, p):first-child,
.comparison-table__column.rte :is(h6, .h6)+:is(ul, p) {
  margin-block-start: 0;
}

.comparison-table__column.rte :is(ul, p):last-child {
  margin-block-end: 0;
}

.comparison-table__column.rte li {
  margin-block-start: 0;
}

.comparison-table__column.rte :is(h1, h2, h3, h4, h5, h6, .h0, .h1, .h2, .h3, .h4, .h5, .h6) {
  margin-block-end:var(--sp-2);
  margin-block-start: 0;
  font-weight: var(--font-medium);
}

.comparison-table__column.rte *:not(h1, h2, h3, h4, h5, h6, .h0, .h1, .h2, .h3, .h4, .h5, .h6) {
  color: rgb(var(--color-foreground)/ .6);
}

@media screen and (min-width: 768px) {
  .comparison-table {
    --card-grid-gap: clamp(var(--sp-4), 1.263vw, var(--sp-6));
  }
}

@media screen and (max-width: 767px) {
  .comparison-table {
    padding-block-start: var(--sp-6);
  }

  .comparison-table__column.rte :is(h6, .h6) {
    font-size: inherit;
  }
}

.comparison-table__row .horizontal-product {
  border-block-start: 0;
  padding-block: 0;
}

.comparison-table__sticky {
  --tw-translate-y: calc(var(--sp-2d5) * -1);
  padding-block: var(--sp-4);
  background-color: rgb(var(--color-background));
  border-block-end: 1px solid rgb(var(--color-foreground)/ 0.115);
  transform: translateY(var(--tw-translate-y));
  transition: var(--animation-primary);
  transition-property: opacity, visibility, transform, inset;
}

.header-sticky~.page-container .comparison-table__sticky {
  inset-block-start: var(--sticky-header-height);
}

.header-hidden[data-sticky-type=on-scroll-up]~.page-container .comparison-table__sticky {
  inset-block-start: 0;
}

.comparison-table__sticky.active {
  --tw-translate-y: 0;
  opacity: 1;
  visibility: visible;
}

.comparison-table__sticky .horizontal-product {
  --cart-item-media-width: clamp(var(--sp-12), 4.21vw, var(--sp-20));
}

.comparison-table__sticky .horizontal-product__vendor,
.comparison-table__sticky .comparison-table__selector {
  display: none;
}

.comparison-table .comparison-table__column.rte .icon-close-circle-filled,
.comparison-table .comparison-table__column.rte .icon-close-circle-filled path {
  color: rgb(var(--color-foreground)/ 0.4);
}

.comparison-table .comparison-table__column.rte .icon-check-circle-filled,
.comparison-table .comparison-table__column.rte .icon-check-circle-filled path {
  color: rgb(var(--color-success-text));
}

.comparison-highlight {
  --buttons-border-width: 0;
  --color-button-gradient: none;
  --color-button-background: var(--color-foreground) / 0.025;
  --color-button-text: var(--color-foreground);
}

@media screen and (pointer: fine) {
  .js [data-button-hover=standard] .comparison-highlight:hover:not([disabled]) {
    color: rgb(var(--color-button-text));
  }
}

@media screen and (max-width: 639px) {
  .comparison-table-section .page-width {
    padding-inline: 0;
  }

  .comparison-table__head,
  .comparison-table__row {
    padding-inline: var(--page-padding);
  }

  .comparison-table__head .comparison-table__column {
    position: sticky;
    inset-inline-start: var(--page-padding);
  }
}

/*! product-comparison  */

.product-comparison {
  gap: var(--card-grid-gap);
}

.product-comparison .comparison-table__head {
  padding-block-start: var(--sp-6);
}

.product-comparison .comparison-table__row.thead + .comparison-table__row,
.product-comparison .comparison-table__row + .comparison-table__row.tfoot {
  padding-block-start: var(--sp-4);
}

.comparison-table__row:is(.odd, .even, .info) .comparison-table__column {
  padding-inline: var(--sp-4);
  transition: var(--animation-primary);
  transition-property: padding, background-color;
}

.comparison-table__row:is(.even, .info) .comparison-table__column {
  padding-block: var(--sp-4);
}

.comparison-table__row.even .comparison-table__column {
  background-color: rgb(var(--color-foreground) / .025);
}

.comparison-table__row.info .comparison-table__column {
  background-color: rgb(var(--color-info-background));
}

[data-rounded-block=round] .comparison-table__row .comparison-table__column {
  border-radius: var(--sp-2);
}

@media screen and (min-width: 768px) {
  .comparison-table__row:is(.odd, .even) .comparison-table__column {
    padding-inline: var(--sp-6);
  }

  .product-comparison .comparison-table__head {
    padding-block-start: var(--sp-10);
  }

  .product-comparison .comparison-table__row.thead + .comparison-table__row,
  .product-comparison .comparison-table__row + .comparison-table__row.tfoot {
    padding-block-start: var(--sp-8);
  }

  .product-comparison .comparison-table__head + .comparison-table__row {
    padding-block-start: var(--sp-4);
  }
}

.product-comparison .select {
  color: rgb(var(--color-foreground));
  border: 1px solid rgb(var(--color-border));
  background-color: rgb(var(--color-background));
}

.product-comparison .select:hover,
.product-comparison .select:focus-visible {
  border-color: rgb(var(--color-foreground));
}

@media screen and (max-width: 639px) {
  .product-comparison .comparison-table__row:is(.odd, .even) {
    padding-inline: 0;
  }

  .product-comparison .comparison-table__row:is(.odd, .even) .comparison-table__column {
    padding-inline: var(--page-padding);
  }

  [data-rounded-block=round] .product-comparison .comparison-table__row .comparison-table__column:first-child {
    border-start-start-radius: 0;
    border-end-start-radius: 0;
  }

  [data-rounded-block=round] .product-comparison .comparison-table__row .comparison-table__column:last-child {
    border-start-end-radius: 0;
    border-end-end-radius: 0;
  }
}

/*! scrollspy-section */

.header-sticky~.page-container .scrollspy-section {
  inset-block-start: calc(var(--sticky-header-height) + var(--sp-2));
}

.header-hidden[data-sticky-type=on-scroll-up]~.page-container .scrollspy-section {
  inset-block-start: var(--sp-2);
}

.header-sticky[data-sticky-type=on-scroll-up]~.page-container .scrollspy-section {
  transition: inset-block-start var(--animation-nav);
}

.scrollspy-section {
  z-index: 10;
  inset-block-start: var(--sp-2);
  pointer-events: none;
}

.scrollspy-nav {
  color: rgb(var(--color-foreground));
  background: var(--gradient-background);
  background-color: rgb(var(--color-background));
  border-radius: var(--buttons-radius);
  max-width: 100%;
}

.scrollspy-list {
  padding: var(--sp-1);
}

.scrollspy-section .scroll-shadow {
  border-radius: var(--buttons-radius);
}

.scrollspy-section .header__menu>ul.with-block .back-to-top {
  padding: 0;
  width: var(--sp-10d5);
}

.scrollspy-section .header__menu>ul .back-to-top .icon {
  width: var(--sp-5d5);
  height: var(--sp-5d5);
}

.scrollspy-section .header__menu>ul.with-block .back-to-top .btn-duplicate {
  padding: 0;
}