/* critical-base.css */
/* Color custom properties */

:root {
  --popup-border-width: 1px;
  --popup-border-opacity: 0.03;
  --popup-corner-radius: 0.5rem;
  --popup-shadow-opacity: 0.05;
  --popup-shadow-horizontal-offset: 0px;
  --popup-shadow-vertical-offset: 1px;
  --popup-shadow-blur-radius: 5px;
  --alpha-link: 0.85;
  --alpha-button-background: 1;
  --alpha-button-border: 1;
  --buttons-border-width: 1px;
  --buttons-border-opacity: 1;
  --inputs-radius: 0.8rem;
  --inputs-border-width: 1px;
  --inputs-border-opacity: 0.05;
  --badge-corner-radius: 1.6rem;
  --buttons-radius: 0.6rem;
  --color-overlay: 0, 0, 0;
  --color-shadow: 43, 43, 43;
  --floating-element-position: 1.5rem;
  --spacing-scale-sm: 0.6;
  --spacing-scale-md: 0.7;
  --spacing-scale-default: 1.0;
  
  /* Liquid Glass Effect Variables */
  --button-glass-opacity: {{ settings.button_glass_opacity | divided_by: 100.0 | default: 0.2 }};
  --button-glass-blur: {{ settings.button_glass_blur | default: 10 }}px;
  --button-glass-shine-color: {{ settings.button_glass_shine_color.rgb | default: '255, 255, 255' }};
  --button-glass-shine-opacity: {{ settings.button_glass_shine_opacity | divided_by: 100.0 | default: 0.4 }};
}

img {
  max-width: 100%;
  height: auto;
}

.color-text {
  --color-foreground: var(--color-foreground);
}

.background-transparent {
  --color-background: transparent;
  --gradient-background: transparent;
}

.button--secondary {
  --alpha-button-background: 0;
}

.button--secondary, .button--tertiary {
  --color-button-text: var(--color-button-text-outline);
}

.button--tertiary {
  --alpha-button-border: 0.2;
  --alpha-button-background: 0;
}

/* Enhanced transparency for secondary/tertiary with glass effect */
.button--secondary,
.button--tertiary {
  background: linear-gradient(90deg, 
    rgba(255, 255, 255, 0.45) 0%, 
    rgba(255, 255, 255, 0.2) 35%,
    rgba(var(--color-button), calc(var(--button-glass-opacity) * 0.3)) 65%,
    rgba(var(--color-button), calc(var(--button-glass-opacity) * 0.5)) 100%
  );
}

/* Fallback for browsers without backdrop-filter support */
@supports not (backdrop-filter: blur(10px)) {
  .button,
  .shopify-challenge__button {
    background: linear-gradient(135deg, 
      rgba(var(--color-button), calc(var(--button-glass-opacity) + 0.3)), 
      rgba(var(--color-button), calc(var(--button-glass-opacity) + 0.2))
    );
  }
  
  .button--secondary,
  .button--tertiary {
    background: linear-gradient(90deg, 
      rgba(255, 255, 255, 0.45) 0%, 
      rgba(255, 255, 255, 0.2) 35%,
      rgba(var(--color-button), calc(var(--button-glass-opacity) * 0.45)) 65%,
      rgba(var(--color-button), calc(var(--button-glass-opacity) * 0.7)) 100%
    );
  }
}

.contains-card--product {
  --text-alignment: var(--product-card-text-alignment);
}

.contains-card--collection {
  --text-alignment: var(--collection-card-text-alignment);
}

.contains-card--article {
  --text-alignment: var(--blog-card-text-alignment);
}

/* base */

.color-foreground {
  color: rgb(var(--color-foreground));
}

.no-js:not(html) {
  display: none !important;
}

.no-js-inline {
  display: none !important;
}

.page-width {
  max-width: var(--page-width);
  margin: 0 auto;
  padding: 0 1.5rem;
}

.page-width-desktop {
  padding: 0;
  margin: 0 auto;
}

@media screen and (min-width: 750px) {
  .page-width {
    padding: 0 5rem;
  }

  .page-width--narrow {
    padding: 0 9rem;
  }

  .page-width-desktop {
    padding: 0;
  }

  .page-width-tablet {
    padding: 0 5rem;
  }
}

@media screen and (min-width: 990px) {
  .page-width--narrow {
    max-width: 72.6rem;
    padding: 0;
  }

  .page-width-desktop {
    max-width: var(--page-width);
    padding: 0 5rem;
  }
}

.page-width--full {
  max-width: none;
  padding: 0 1.5rem;
}

@media screen and (min-width: 990px) {
  .page-width--full {
    padding: 0 5rem;
  }
}

.isolate {
  position: relative;
  z-index: 0;
}

.section + .section {
  margin-top: var(--spacing-sections-mobile);
}

.section__box {
  --padding-section-box: 2.4rem;
  padding: var(--padding-section-box);
  border-radius: 2rem;
  box-shadow: 0rem 5.6rem 5.6rem 0rem rgb(var(--color-global-shadow), 0.05);
}

@media screen and (min-width: 750px) {
  .section + .section {
    margin-top: var(--spacing-sections-desktop);
  }
}

@media screen and (min-width: 990px) {
  .section__box {
    --padding-section-box: 3.8rem;
  }
}

.margin0 {
  margin: 0;
}

.margin-top-1rem {
  margin-top: 1rem;
}

.margin-bottom-1rem {
  margin-bottom: 1rem;
}

.small-margin-top {
  margin-top: 2rem;
}

.small-margin-bottom {
  margin-bottom: 2rem;
}

.element-small-margin-top {
  margin-top: 2.5rem;
}

.element-margin-top {
  margin-top: 4rem;
}

@media screen and (min-width: 750px) {
  .element-margin {
    margin-top: calc(4rem + var(--page-width-margin));
  }
}

.flex {
  display: flex;
}

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

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

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

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

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

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

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

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

.flex-grow-1 {
  flex-grow: 1;
}

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

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

/* Used for Custom section and Group theme block */

.custom-section:has(.custom-section__content:empty) {
  display: none;
}

.custom-gap {
  gap: var(--custom-gap);
}

/* Size style */

.size-style {
  --width: var(--size-style-width-mobile);
  width: var(--width);
}

.size-style--min {
  min-width: var(--width);
}

.spacing-style {
  --spacing-scale: var(--spacing-scale-sm);
  /* Must disable this, when you use these with calc and another unit type, things break — see logo.liquid */
  /* stylelint-disable length-zero-no-unit */
  --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: calc(var(--padding-block-start) + var(--section-top-offset, 0px)) 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);
}

:is(deferred-media).border-style {
  /* Apply the border radius to the video */
  overflow: hidden;
}

/* Border override style */
.border-style {
  border-width: var(--border-width);
  border-style: var(--border-style);
  border-color: var(--border-color);
  border-radius: var(--border-radius);
}

.custom-radius {
  border-radius: var(--border-radius);
}

/* Text block */

.text-scale {
  --font-body-scale: calc(var(--custom-font-scale) * var(--font-origin-body-scale));
	font-size: calc(1.6rem * var(--font-body-scale));
}

.heading-scale {
  --font-heading-scale: calc(var(--custom-font-scale) * var(--font-origin-heading-scale));
}

/* Divider block */
.divider {
  align-self: stretch;
}

.divider__line {
  border-bottom: var(--divider-border-thickness) solid rgb(var(--color-foreground), var(--divider-border-opacity));
  border-right: var(--divider-border-thickness) solid rgb(var(--color-foreground), var(--divider-border-opacity));
  border-radius: calc(0.6rem * var(--divider-border-rounded));
  flex-basis: var(--divider-flex-basis);
  min-height: var(--divider-flex-basis);
}

/* Icon block */

.icon-block, .icon-block__icon {
  width: var(--icon-width);
}

/* Image block */

.custom-section__content > *, .group-block-content > * {
  height: fit-content;
}

/* Custom SVG icon */

.custom-svg-icon svg {
  width: var(--icon-width);
  height: auto;
}

.custom-svg-icon svg:not([fill="none"]),
.custom-svg-icon svg path[fill]:not([fill="none"]) {
  fill: currentColor;
}

.custom-svg-icon svg path[stroke] {
  stroke: currentColor;
}

@media (max-width: 749px) {
  .fit-mobile {
    max-width: min(var(--max-width-mobile), 100%);
  }
}

@media (min-width: 750px) {
  .flex-column-desktop {
    flex-direction: column;
  }
  .flex-row-desktop {
    flex-direction: row;
  }
  .justify-desktop {
    justify-content: var(--justify-desktop);
  }
  .align-desktop {
    align-items: var(--align-desktop);
  }

  .size-style {
    --width: var(--size-style-width-desktop);
  }

  .spacing-style {
    --spacing-scale: var(--spacing-scale-md);
  }

  .custom-gap-desktop {
    gap: var(--custom-gap-desktop);
  }
}

@media (min-width: 750px) and (max-width: 989px) {
  .size-style--tablet {
    --width: var(--size-style-width-tablet);
  }

  .fit-tablet {
    max-width: min(var(--max-width-tablet-up), 100%);
  }
}

@media (min-width: 990px) {
  .spacing-style {
    --spacing-scale: var(--spacing-scale-default);
  }

  .text-block.text-block--desktop-alignment {
    text-align: var(--text-alignment-desktop);
  }

  .fit-desktop {
    max-width: min(var(--max-width-tablet-up), 100%);
  }
}

.w100 {
  width: 100%;
}

.h100 {
  height: 100%;
}

.por {
  position: relative;
}

.db {
  display: block;
}

.global-media-settings {
  position: relative;
  overflow: visible;
  background-color: rgb(var(--color-background));
}

.background-secondary {
  background-color: rgb(var(--color-foreground), 0.04);
}



.grid-auto-flow {
  display: grid;
  grid-auto-flow: column;
}

.page-margin,
.shopify-challenge__container {
  margin: 7rem auto;
}

.rte-width {
  max-width: 82rem;
  margin: 0 auto 2rem;
}

.list-unstyled {
  margin: 0;
  padding: 0;
  list-style: none;
}

.hidden {
  display: none !important;
}

.visually-hidden {
  position: absolute !important;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  word-wrap: normal !important;
}

.visually-hidden--inline {
  margin: 0;
  height: 1em;
}

.overflow-hidden {
  overflow: hidden;
}

.nowrap {
  white-space: nowrap;
}

.text-body {
  font-size: calc(1.6rem * var(--font-body-scale));
  letter-spacing: 0.06rem;
  line-height: calc(1 + 0.8 / var(--font-body-scale));
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h0,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.heading-font {
  font-family: var(--font-heading-family);
  font-style: var(--font-heading-style);
  font-weight: var(--font-heading-weight);
  color: rgb(var(--color-foreground));
  word-break: break-word;
}

h1,
h2,
.h0,
.h1,
.h2,
.hxl {
  line-height: calc(1 + 0.2 / max(1, var(--font-heading-scale)));
}

h3,
h4,
h5,
.h3,
.h4,
.h5,
.heading-font {
  line-height: calc(1 + 0.3 / max(1, var(--font-heading-scale)));
}

.hxl {
  font-size: calc(var(--font-heading-scale) * 4.6rem);
  letter-spacing: -1.35px;
}

.h0 {
  font-size: calc(var(--font-heading-scale) * 4rem);
  letter-spacing: -1.2px;
}

h1,
.h1 {
  font-size: calc(var(--font-heading-scale) * 3.4rem);
  letter-spacing: -1.02px;
}

h2,
.h2 {
  font-size: calc(var(--font-heading-scale) * 3rem);
  letter-spacing: -0.9px;
}

h3,
.h3 {
  font-size: calc(var(--font-heading-scale) * 2rem);
  letter-spacing: -0.4px;
}

h4,
.h4 {
  font-size: calc(var(--font-heading-scale) * 1.8rem);
  letter-spacing: -0.36px;
}

h5,
.h5, h6,
.h6 {
  font-size: calc(var(--font-heading-scale) * 1.6rem);
  letter-spacing: -0.32px;
}

@media only screen and (min-width: 990px) {
  .hxl {
    font-size: calc(var(--font-heading-scale) * 5.4rem);
    letter-spacing: -1.59px;
  }

  .h0 {
    font-size: calc(var(--font-heading-scale) * 4.8rem);
    letter-spacing: -1.44px;
  }

  h1,
  .h1 {
    font-size: calc(var(--font-heading-scale) * 4rem);
    letter-spacing: -1.2px;
  }

  h2,
  .h2 {
    font-size: calc(var(--font-heading-scale) * 3.4rem);
    letter-spacing: -1.02px;
  }

  h3,
  .h3 {
    font-size: calc(var(--font-heading-scale) * 2.4rem);
    letter-spacing: -0.48px;
  }

  h4,
  .h4 {
    font-size: calc(var(--font-heading-scale) * 2rem);
    letter-spacing: -0.4px;
  }
}

@media only screen and (min-width: 1200px) {
  .hxl {
    font-size: calc(var(--font-heading-scale) * 6.4rem);
    letter-spacing: -1.73px;
  }

  .h0 {
    font-size: calc(var(--font-heading-scale) * 5.6rem);
    letter-spacing: -1.68px;
  }

  h1,
  .h1 {
    font-size: calc(var(--font-heading-scale) * 4.8rem);
    letter-spacing: -1.44px;
  }

  h2,
  .h2 {
    font-size: calc(var(--font-heading-scale) * 4rem);
    letter-spacing: -1.2px;
  }

  h3,
  .h3 {
    font-size: calc(var(--font-heading-scale) * 3rem);
    letter-spacing: -0.6px;
  }

  h4,
  .h4 {
    font-size: calc(var(--font-heading-scale) * 2.4rem);
    letter-spacing: -0.48px;
  }

  h5,
  .h5 {
    font-size: calc(var(--font-heading-scale) * 1.8rem);
    letter-spacing: -0.36px;
  }
}

.caption {
  font-size: calc(1.2rem * var(--font-body-scale));
  line-height: calc(1 + 0.1 / var(--font-body-scale));
}

.caption-with-letter-spacing {
  font-size: calc(1rem * var(--font-body-scale));
  letter-spacing: 0.3rem;
}

.caption-with-letter-spacing--medium {
  font-size: calc(1.2rem * var(--font-body-scale));
  letter-spacing: .48rem;
}

.caption-with-letter-spacing--large {
  font-size: calc(1.4rem * var(--font-body-scale));
  letter-spacing: 0.58rem;
}

.caption-large,
.field__input,
.form__label,
.select__select {
  line-height: calc(1 + 0.5 / var(--font-body-scale));
}

.field__input,
.select__select {
  font-size: calc(1.6rem * var(--font-body-scale));
}

.caption-large, .text-small {
  font-size: calc(1.4rem * var(--font-body-scale));
}

/* Select */

.select .icon-caret {
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  inset-inline-end: 1.3rem;
}

.select__select {
  cursor: pointer;
  line-height: calc(1 + 0.6 / var(--font-body-scale));
  padding: 1.6rem 3.5rem 1.6rem 1.6rem;
  margin: var(--inputs-border-width);
}

@media screen and (max-width: 749px) {
  .small-hide {
    display: none !important;
  }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .medium-hide {
    display: none !important;
  }
}

@media screen and (min-width: 990px) {
  .large-up-hide {
    display: none !important;
  }
}

.left {
  text-align: start;
}

.center {
  text-align: center;
}

.right {
  text-align: end;
}

.uppercase {
  text-transform: uppercase;
}

.first-letter-uppercase:first-letter {
  text-transform: capitalize;
}

.light {
  opacity: 0.7;
}

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;
}

.link {
  cursor: pointer;
  display: inline-block;
  border: none;
  box-shadow: none;
  color: rgb(var(--color-link));
  background-color: transparent;
  text-decoration: none;
}

.rewrite-color-link {
  --color-link: var(--color-foreground);
}

.link.flex {
  display: flex;
}

.link--text {
  color: rgb(var(--color-foreground));
}

.link-with-icon {
  display: inline-flex;
  font-weight: var(--font-body-weight-bold);
  letter-spacing: 0.1rem;
  text-decoration: none;
  white-space: nowrap;
  gap: 0.5rem;
}

a:not([href]) {
  cursor: not-allowed;
}

hr {
  border: none;
  height: 0.1rem;
  background-color: rgba(var(--color-foreground), 0.05);
  display: block;
  margin: 5rem 0;
}

.full-unstyled-link {
  text-decoration: none;
  color: currentColor;
  display: block;
}

.placeholder {
  background-color: rgba(var(--color-foreground), 0.04);
  color: rgba(var(--color-foreground), 0.55);
  fill: rgba(var(--color-foreground), 0.55);
}

details > * {
  box-sizing: border-box;
}

.break {
  word-break: break-word;
}

.visibility-hidden {
  visibility: hidden;
}

.underlined-link {
  color: rgba(var(--color-link), var(--alpha-link));
  position: relative;
  padding: 0;
  text-decoration: none;
}

.underlined-link:before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  bottom: -0.1rem;
  width: 100%;
  border-bottom: 1px solid currentColor;
}

.icon-arrow {
  width: 1.5rem;
}

h3 .icon-arrow,
.h3 .icon-arrow {
  width: calc(var(--font-heading-scale) * 1.5rem);
}

.lh1 {
  line-height: 1;
}

.custom-paragraph-line-height {
  line-height: var(--custom-paragraph-line-height);
}

.custom-heading-line-height-self,
.custom-heading-line-height h1,
.custom-heading-line-height h2,
.custom-heading-line-height h3,
.custom-heading-line-height h4,
.custom-heading-line-height h5,
.custom-heading-line-height h6 {
  line-height: var(--custom-heading-line-height);
}

/* base-details-summary */
summary {
  cursor: pointer;
  list-style: none;
  position: relative;
}

summary .icon-caret {
  position: absolute;
  inset-inline-end: 1.5rem;
  top: calc(50% - 0.8rem);
}

summary::-webkit-details-marker {
  display: none;
}

/* component disclosure */

.disclosure__button {
  font-size: 1.4rem;
  padding-inline-end: 3.7rem;
}

.disclosure__list-wrapper--header {
  inset-inline-end: 0;
}

/* component-title */

.title {
  margin: 0 0 3rem;
}

.title--primary {
  margin: 3rem 0;
}

.title > * + * {
  margin-top: 1rem;
}

.title__gap {
  gap: 1.5rem 2.4rem;
}

.title__line {
  height: 0.5rem;
  background: rgb(var(--color-foreground), 0.06);
}

.title__buttons {
  --color-button-outline: var(--color-background);
  --color-button-text-outline: var(--color-foreground);
}

@media screen and (max-width: 749px) {
  .title__gap--full-buttons-mobile {
    flex-wrap: wrap;
  }
  .title__buttons--full {
    width: 100%;
  }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .title__gap--full-buttons-tablet {
    flex-wrap: wrap;
  }
}

/* Subtitle in sections */

.title__front {
  margin-top: var(--title-gap);
  margin-inline-start: var(--title-indent);
}

.title__front--small {
  font-size: calc(var(--title-small-size) * var(--font-heading-scale));
  letter-spacing: var(--title-small-letter-spacing);
}

.title__back {
  font-size: calc(var(--title-back-size) * var(--font-heading-scale));
  letter-spacing: var(--title-back-letter-spacing);
  color: rgb(var(--color-foreground), 0.1);
}

.subtitle {
  font-size: 1.8rem;
  color: rgba(var(--color-foreground), 0.7);
}

.subtitle--small {
  font-size: 1.4rem;
}

.subtitle--medium {
  font-size: 1.6rem;
}

/* component-grid */

.grid {
  --grid-horizontal-spacing: var(--grid-mobile-horizontal-spacing);
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2rem;
  padding: 0;
  list-style: none;
  column-gap: var(--grid-horizontal-spacing);
  row-gap: var(--grid-mobile-vertical-spacing);
  margin-top: 0;
}

.grid.contains-card--collection, .grid.contains-card--product {
  --grid-horizontal-spacing: calc(var(--grid-mobile-horizontal-spacing) + 3px);
  row-gap: calc(var(--grid-mobile-vertical-spacing) + 3px);
}

@media screen and (min-width: 750px) {
  .grid {
    --grid-horizontal-spacing: var(--grid-desktop-horizontal-spacing);
    row-gap: var(--grid-desktop-vertical-spacing);
  }
  .grid.contains-card--collection, .grid.contains-card--product {
    --grid-horizontal-spacing: calc(var(--grid-desktop-horizontal-spacing) + 3px);
    row-gap: calc(var(--grid-desktop-vertical-spacing) + 6px);
  }
}

.grid:last-child {
  margin-bottom: 0;
}

.grid__item {
  width: calc(25% - var(--grid-horizontal-spacing) * 3 / 4);
  flex-shrink: 0;
}

.grid--gapless.grid {
  column-gap: 0;
  row-gap: 0;
  --grid-horizontal-spacing: 0px;
}

@media screen and (max-width: 749px) {
  .grid__item.slider__slide--full-width {
    width: 100%;
  }
}

.grid--1-col .grid__item {
  width: 100%;
}

.grid--2-col .grid__item {
  width: calc(50% - var(--grid-horizontal-spacing) / 2);
}

.grid--3-col .grid__item {
  width: calc(33.33% - var(--grid-horizontal-spacing) * 2 / 3);
}

@media screen and (min-width: 750px) {
  .grid--4-col-tablet .grid__item {
    width: calc(25% - var(--grid-horizontal-spacing) * 3 / 4);
  }

  .grid--3-col-tablet .grid__item {
    width: calc(33.33% - var(--grid-horizontal-spacing) * 2 / 3);
  }

  .grid--2-col-tablet .grid__item {
    width: calc(50% - var(--grid-horizontal-spacing) / 2);
  }
}

@media screen and (max-width: 989px) {
  .slider--tablet.grid--peek {
    margin: 0;
    width: 100%;
  }

  .slider--tablet.grid--peek .grid__item {
    box-sizing: content-box;
    margin: 0;
  }
}

@media screen and (min-width: 990px) {
  .grid--8-col-desktop .grid__item {
    width: calc(12.5% - var(--grid-horizontal-spacing) * 7 / 8);
  }  

  .grid--7-col-desktop .grid__item {
    width: calc(14.28% - var(--grid-horizontal-spacing) * 6 / 7);
  }

  .grid--6-col-desktop .grid__item {
    width: calc(16.66% - var(--grid-horizontal-spacing) * 5 / 6);
  }

  .grid--5-col-desktop .grid__item {
    width: calc(20% - var(--grid-horizontal-spacing) * 4 / 5);
  }

  .grid--4-col-desktop .grid__item {
    width: calc(25% - var(--grid-horizontal-spacing) * 3 / 4);
  }

  .grid--3-col-desktop .grid__item {
    width: calc(33.33% - var(--grid-horizontal-spacing) * 2 / 3);
  }

  .grid--2-col-desktop .grid__item {
    width: calc(50% - var(--grid-horizontal-spacing) / 2);
  }

  .grid--1-col-desktop {
    flex: 0 0 100%;
  }

  .grid--1-col-desktop .grid__item {
    width: 100%;
  }
}

@media screen and (max-width: 749px) {
  .grid--peek.slider--mobile {
    margin: 0;
    width: 100%;
  }

  .grid--peek.slider--mobile .grid__item {
    box-sizing: content-box;
    margin: 0;
    width: calc(100% - max(var(--grid-horizontal-spacing), 1rem) - 1.5rem);
  }

  .grid--peek.slider--mobile.grid--2-col .grid__item {
    width: calc(50% - max(var(--grid-horizontal-spacing), 1rem) - 1.5rem);
  }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .slider--tablet.grid--peek .grid__item {
    width: calc(100% - var(--grid-horizontal-spacing) - 3rem);
  }

  .slider--tablet.grid--peek.grid--2-col-tablet .grid__item {
    width: calc(50% - var(--grid-horizontal-spacing) - 3rem);
  }

  .slider--tablet.grid--peek.grid--3-col-tablet .grid__item {
    width: calc(33.33% - var(--grid-horizontal-spacing) - 3rem);
  }

  .slider--tablet.grid--peek.grid--4-col-tablet .grid__item {
    width: calc(25% - var(--grid-horizontal-spacing) - 3rem);
  }
}

/* component-media */
.media {
  display: block;
  background-color: rgba(var(--color-background-input));
  position: relative;
  overflow: hidden;
}

.media--transparent {
  background-color: transparent;
}

.media--background {
  position: absolute;
}

.media > *:not(.zoom):not(.deferred-media__poster-button),
.media model-viewer {
  display: block;
  max-width: 100%;
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  height: 100%;
  width: 100%;
}

.media > img {
  object-fit: cover;
  object-position: center center;
}

.media > .aspect-ratio:not(.zoom) {
  position: static;
  height: auto;
  aspect-ratio: var(--aspect-ratio);
}

.media--square {
  padding-bottom: 100%;
}

.media--portrait {
  padding-bottom: 125%;
}

.media--landscape {
  padding-bottom: 66.6%;
}

.media--cropped {
  padding-bottom: 56%;
}

.media--16-9 {
  padding-bottom: 56.25%;
}

.media--circle {
  padding-bottom: 100%;
  border-radius: 50%;
}

.media.media--hover-effect > img + img {
  opacity: 0;
}

@media screen and (min-width: 990px) {
  .media--cropped {
    padding-bottom: 63%;
  }
}

deferred-media {
  display: block;
}

/* component-button */
/* Button - default */

.button,
.shopify-challenge__button,
button.shopify-payment-button__button--unbranded,
.shopify-payment-button [role="button"],
.cart__dynamic-checkout-buttons [role='button'],
.cart__dynamic-checkout-buttons iframe {
  --color-border: var(--color-button);
  border-radius: var(--buttons-radius);
  position: relative;
  font-family: var(--font-button-family);
  font-style: var(--font-button-style);
  font-weight: var(--font-button-weight-medium);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.1), 0px 1px 3px 0px rgba(0, 0, 0, 0.08);
  backdrop-filter: blur(var(--button-glass-blur));
  -webkit-backdrop-filter: blur(var(--button-glass-blur));
}

.shopify-payment-button__button--unbranded {
  --color-button: var(--color-foreground);
  --color-button-text: var(--color-background);
}

.button,
.shopify-challenge__button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 1.1rem 2.2rem;
  cursor: pointer;
  text-decoration: none;
  color: rgb(var(--color-button-text));
  -webkit-appearance: none;
  appearance: none;
  background: linear-gradient(90deg,
    rgba(255, 255, 255, 0.55) 0%,
    rgba(255, 255, 255, 0.28) 30%,
    rgba(var(--color-button), calc(var(--button-glass-opacity) * 0.6)) 55%,
    rgba(var(--color-button), calc(var(--button-glass-opacity) * 0.85)) 100%
  );
  gap: 1rem;
  overflow: hidden;
}

.button,
.button-label,
.shopify-challenge__button {
  font-size: calc(var(--font-button-scale) * 1.4rem);
  line-height: calc(1 + 0.2 / var(--font-button-scale));
}

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

.button--secondary:after, .button--tertiary::after {
  --border-opacity: max(var(--buttons-border-opacity), 0.1);
}

.button--secondary {
  --color-border: var(--color-button-text-outline);
}

.button--small {
  padding: 0.8rem 1.4rem;
}

.button--medium {
  padding: 0.9rem 1.7rem;
}

.button--large {
  padding: 1.6rem 3rem;
}

.button--semi-bold {
  font-weight: var(--font-button-weight-medium);
}

/* Liquid Glass shine effect */
.button::after,
.shopify-challenge__button::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 50%;
  background: linear-gradient(90deg, 
    rgba(var(--button-glass-shine-color), var(--button-glass-shine-opacity)) 0%, 
    transparent 60%
  );
  border-radius: inherit;
  pointer-events: none;
  z-index: 3;
  transition: opacity 300ms ease;
}

.button > *,
.shopify-challenge__button > * {
  position: relative;
  z-index: 2;
}

.button__section-heading {
  border-color: rgb(var(--color-button-text-outline), 0.17);
  padding-inline-start: 1.5rem;
  width: max-content;
}

.button-font-scale {
  --font-button-scale: calc(var(--custom-font-scale) * var(--font-origin-button-scale));
}

/* component-quantity */

.quantity {
  --add-height: calc(5rem / var(--font-button-scale));
  --add-width: 9.2rem;
  width: calc(var(--add-width) / var(--font-body-scale));
  height: calc((var(--inputs-border-width) * 2) + var(--add-height));
}

.quantity--small {
  --add-height: 3.5rem;
  --add-width: 6.2rem;
}

.quantity__input {
  color: currentColor;
  font-size: 1.6rem;
  font-weight: var(--font-body-weight-medium);
  padding: 0 0.5rem;
  width: calc(100% - 3.2rem);
  height: var(--add-height);
  box-shadow: inset 1px 1px 1px rgb(var(--color-highlight), 0.1);
  -webkit-appearance: none;
  appearance: none;
  border: none;
  border-start-start-radius: var(--inputs-radius);
  border-end-start-radius: var(--inputs-radius);
}

.quantity__buttons {
  width: calc(3.2rem / var(--font-body-scale));
}

.quantity__button {
  flex-shrink: 0;
  font-size: 1.8rem;
  background-color: transparent;
  cursor: pointer;
  padding: 0;
  border: 0.1rem solid rgb(var(--color-foreground), var(--inputs-border-opacity));
  height: calc(var(--add-height) / 2);
}

.quantity__button[name="plus"] {
  border-start-end-radius: var(--inputs-radius);
}

.quantity__button[name="minus"] {
  border-end-end-radius: var(--inputs-radius);
  border-top: none;
}

.quantity__button svg {
  width: 1rem;
  pointer-events: none;
}

/* component-modal */
.modal__toggle {
  list-style-type: none;
}

.modal__toggle-close {
  display: none;
}

.modal__toggle-open {
  display: flex;
}

.no-js .modal__close-button.link {
  display: none;
}

/* Main Header Layout */

.header-wrapper--border-bottom .header {
  border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
}

.header__inner {
  display: grid;
  grid-template-areas: var(--header-template-areas);
  grid-template-columns: var(--header-template-columns);
  column-gap: 1rem;
}

.header__button-icon {
  width: 4.4rem;
  height: 4.4rem;
}

.header__left-icons {
  column-gap: 1rem;
}

@media screen and (max-width: 989px) {
  .header__inner {
    align-items: center;
    padding: 0 4rem;
  }
}

@media screen and (max-width: 749px) {
  .header__inner {
    padding: 0 0.5rem;
  }
}

@media screen and (min-width: 990px) {
  .header--center-drawer .header__drawer-mobile {
    grid-area: navigation;
  }
}

.header__heading {
  grid-area: heading;
  justify-self: center;
}

.header__heading-link .h2 {
  line-height: 1;
  color: rgba(var(--color-foreground), 0.75);
}

.header-top {
  --inputs-border-opacity: 0;
}

.header__store-information__list {
  column-gap: 3rem;
  padding: 1.3rem 0;
}

.header__store-information__item {
  column-gap: 0.5rem;
}

.header__store-information__item--link {
  text-decoration: none;
}

.header__heading-logo {
  height: auto;
}

.back-button-menu {
  position: fixed;
  bottom: 1.5rem;
  transform: translateY(100%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@media screen and (max-width: 989px) {
  header.header {
    padding-top: 1.5rem;
    padding-bottom: 0.2rem;
  }

  /* Hide the near-empty top bar on mobile (language switch stays in the footer bar) */
  .header-top {
    display: none;
  }

  /* Remove the residual empty top grid-row above the header (leftover utility-bar
     track from the body grid) so the logo sits flush at the top on mobile */
  .section-group-header-group {
    margin-top: -2.6rem;
  }

  .header--mobile-left .header__heading {
    justify-self: start;
  }

  .header--mobile-left {
    --header-template-columns: auto 2fr 1fr;
  }

  .header__localization {
    margin: 0 -1rem;
  }
}

@media screen and (min-width: 990px) {
  .header__heading {
    justify-self: start;
  }

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

/* Header icons */

.header__icons {
  grid-area: icons;
  justify-self: end;
}

.header__icon__text {
  font-size: 1.4rem;
}

.header__cart-inner {
  column-gap: 1rem;
}

.header__cart-total {
  row-gap: .2rem;
}

.header__cart-total__price {
  font-size: 1.4rem;
}

.header__count-bubble {
  background-color: rgb(var(--color-button));
  color: rgb(var(--color-button-text));
  border-radius: 50%;
  font-size: 1rem;
  position: absolute;
  width: 1.8rem;
  height: 1.8rem;
  inset-inline-start: 1.4rem;
  top: -0.3rem;
  box-shadow: 0px 4px 6px -1px rgb(var(--color-foreground), 0.1), 0px 2px 4px -1px rgb(var(--color-foreground), 0.06);
}

.header__icon--cart .icon-close {
  width: 2rem;
  height: 2rem;
}

.header__icon--hide-close .icon-close {
  display: none;
}

.header__customer-support-region__button {
  padding-inline: 2.7rem 5rem;
  gap: 1.6rem;
  border-radius: 0.8rem;
  min-height: 7rem;
}

.header__customer-support-region__button:not(.disclosure__button) {
  padding: 0 2.7rem;
  background: rgb(var(--color-background-input));
}

.header__customer-support-region__button .icon-caret {
  inset-inline-end: 2rem;
}

.list-social {
  gap: 3rem;
}

.list-social--header {
  margin-inline-start: 1.5rem;
  padding: 1.3rem 0;
}

.menu-drawer {
  visibility: hidden;
}

@media screen and (max-width: 989px) {
  menu-drawer ~ .header__icons .header__icon--account {
    display: none;
  }
}

.header__menu-labels__item {
  column-gap: 0.5rem;
}

@media screen and (min-width: 990px) {
  .header__icon--cart {
    width: auto;
    height: auto;
    margin-inline-start: 1rem;
  }
}

@media screen and (min-width: 1200px) {
  .header__customer-support-region, .header__search--distance-right {
    margin-inline-end: 1rem;
  }
}

/* Search */

.search__input {
  border: none;
  min-height: 7rem;
  background: rgb(var(--color-background-input));
  border-radius: 0.8rem;
  padding: 0 5.5rem 0 2.7rem;
  font-size: 1.6rem;
}

.search__button {
  top: calc(50% - 2rem);
  inset-inline-end: 1.5rem;
}

.search__input::placeholder {
  color: rgb(var(--color-foreground), 0.7);
}

/* Header menu drawer */

details:not([open]) > .header__icon--menu .icon-close-state,
details[open] > .header__icon--menu .icon-open-state {
  visibility: hidden;
  opacity: 0;
  transform: scale(0.8);
}

.header__icon--menu .icon {
  display: block;
  position: absolute;
  inset-inline-start: 0;
  opacity: 1;
  transform: scale(1);
  transition: transform 150ms ease, opacity 150ms ease;
}

.header__icon--menu > span {
  width: 2.5rem;
  height: 2.4rem;
}

.js details > .header__submenu, .js details > .mega-menu__content {
  transform: translateY(-1.5rem);
}

.header__submenu {
  position: absolute;
}

/* Header menu */

.header__inline-menu {
  grid-area: navigation;
}

.header__menu-item--top-highlight:before {
  content: "";
  position: absolute;
}

.header__menu-item--highlight-outline:before {
  border: 1px solid;
}

@media screen and (min-width: 990px) {
  .header__menu-item--top-highlight-inline:before {
    inset-block: 2rem;
    inset-inline: 0.5rem;
    border-radius: 0.5rem;
  }

  summary.list-menu__item.header__menu-item--top-highlight-inline {
    padding-inline-end: 3.5rem;
  }

  summary.header__menu-item--top-highlight-inline .icon-caret {
    inset-inline-end: 1.3rem;
  }

  .header__menu-item--highlight-solid:before {
    background: rgb(var(--color-background));
  }

  .header__inline-menu nav {
    margin-inline-start: -1.5rem;
  }

  .header__inline-menu .header__menu-item--top.list-menu__item {
    max-width: 30rem;
  }
}

.header__menu {
  padding: 0 1rem;
}

.header__menu-item {
  padding: 1.2rem;
  color: rgba(var(--color-foreground));
}

.header__menu-item--top {
  padding: 2.7rem 1.5rem;
  line-height: calc(1 + 0.3 / var(--font-heading-scale));
  font-weight: var(--font-heading-weight-semi-bold);
} 

.header__menu-badge {
  --badge-top-position: 30px;
  display: inline-block;
  position: absolute;
  top: var(--badge-top-position);
  vertical-align: top;
  inset-inline-start: 3.2rem;
  transform: translateY(calc(-100% - 1rem));
  font-size: 1rem;
  white-space: nowrap;
  padding: 0.2rem 0.5rem 0.3rem 0.5rem;
  border-radius: 2px;
  box-shadow: 0 0.1rem 0.2rem 0 rgba(var(--color-foreground), 0.07);
  -webkit-box-shadow: 0 0.1rem 0.2rem 0 rgba(var(--color-foreground), 0.07);
}

.header__menu-badge:after {
  content: "";
  border: 0.4rem solid;
  border-color: inherit;
  position: absolute;
  top: 50%;
  inset-inline-start: 0.5rem;
  border-bottom-color: transparent !important;
  border-inline-end-color: transparent !important;
  -webkit-transform: translateY(calc(-50% + 1rem));
  transform: translateY(calc(-50% + 1rem));
}

.header__menu-item .icon-caret {
  inset-inline-end: 0.5rem;
}

.header__active-menu-item {
  color: rgb(var(--color-foreground));
}

header-menu > details,
details-disclosure > details {
  position: relative;
}

.mega-menu {
  position: static;
}

.mega-menu__content {
  position: absolute;
  z-index: -1;
}

.overflow-hidden-mobile,
.overflow-hidden-tablet,
.overflow-hidden-all {
  overflow: hidden;
}

@media screen and (min-width: 750px) {
  .overflow-hidden-mobile {
    overflow: auto;
  }
}

@media screen and (min-width: 990px) {
  .overflow-hidden-tablet {
    overflow: auto;
  }
}

.gradient {
  background: rgb(var(--color-background));
  background: var(--gradient-background);
  background-attachment: fixed;
}

@media screen and (forced-colors: active) {
  .icon {
    color: CanvasText;
    fill: CanvasText !important;
  }

  .icon-close-small path {
    stroke: CanvasText;
  }
}

.ratio {
  display: flex;
  position: relative;
  align-items: stretch;
}

.ratio::before {
  content: '';
  width: 0;
  height: 0;
  padding-bottom: var(--ratio-percent);
}

.font-body-semi-bold {
  font-weight: var(--font-body-weight-medium);
}

.font-body-large-bold {
  font-weight: var(--font-body-weight-large);
}

.font-body-bold, strong {
  font-weight: var(--font-body-weight-bold);
}

.font-heading-bold {
  font-weight: var(--font-heading-weight-semi-bold);
}

.font-heading-extra-bold,
h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong,
h6 strong {
  font-weight: var(--font-heading-weight-bold);
}

/* component slider */

slider-component {
  display: block;
}

@media screen and (max-width: 749px) {
  slider-component.page-width {
    padding: 0 1.5rem;
  }
}

@media screen and (min-width: 750px) and (max-width: 990px) {
  slider-component.page-width {
    padding: 0 5rem;
  }
}

.slider.contains-card--product {
  padding-top: 1rem;
  padding-bottom: 5px;
  margin-top: -1rem;
}

.slider__slide {
  --focus-outline-padding: 0.5rem;
  scroll-snap-align: start;
  flex-shrink: 0;
  padding-bottom: 0;
}

@media screen and (max-width: 749px) {
  .slider.slider--mobile {
    position: relative;
    flex-wrap: inherit;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
  }

  .slider.slider--mobile .slider__slide {
    margin-bottom: 0;
  }

  .slider-component-full-width.slider-component-mobile {
    max-width: none;
    padding: 0;
  }

  .slider-component-full-width.slider-component-mobile .slider {
    scroll-padding-inline-start: 1.5rem;
  }

  .slider-component-full-width.slider-component-mobile .slider__slide:first-child {
    margin-inline-start: 1.5rem;
    scroll-margin-inline-start: 1.5rem;
  }

  .slider-component-full-width.slider-component-mobile .slider__slide:last-child {
    margin-inline-end: 1.5rem;
  }

  .slider:not(.slider--mobile) + .slider-buttons {
    display: none;
  }
}

@media screen and (min-width: 750px) {
  .slider-component-desktop.page-width-desktop {
    padding: 0;
  }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .slider-component-full-width.slider-component-tablet {
    max-width: none;
    padding: 0;
  }

  .slider-component-full-width.slider-component-tablet .slider {
    scroll-padding-inline-start: 1.5rem;
  }

  .slider-component-full-width.slider-component-tablet .slider__slide:first-child {
    margin-inline-start: 1.5rem;
    scroll-margin-inline-start: 1.5rem;
  }

  .slider-component-full-width.slider-component-tablet .slider__slide:last-child {
    margin-inline-end: 1.5rem;
  }

  .slider.slider--tablet {
    position: relative;
    flex-wrap: inherit;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
  }

  .slider.slider--tablet .slider__slide {
    margin-bottom: 0;
  }

  .slider:not(.slider--tablet) + .slider-buttons {
    display: none;
  }
}

.slider--everywhere {
  position: relative;
  flex-wrap: inherit;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 1rem;
}

.slider.slider--everywhere .slider__slide {
  margin-bottom: 0;
  scroll-snap-align: center;
}

@media screen and (min-width: 990px) {
  .slider-component-full-width.slider-component-desktop {
    max-width: none;
    padding: 0;
  }

  .slider-component-full-width.slider-component-desktop .slider {
    scroll-padding-inline-start: 5rem;
  }

  .slider-component-full-width.slider-component-desktop .slider__slide:first-child {
    margin-inline-start: 5rem;
    scroll-margin-inline-start: 5rem;
  }

  .slider-component-full-width.slider-component-desktop .slider__slide:last-child {
    margin-inline-end: 5rem;
  }

  .slider--desktop {
    position: relative;
    flex-wrap: inherit;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
  }

  .slider.slider--desktop .slider__slide {
    margin-bottom: 0;
  }

  .slider-component-full-width .slider--desktop.grid--6-col-desktop .grid__item {
    width: calc((100% - var(--grid-horizontal-spacing) * 5 ) / 6 - 1rem);
  }

  .slider-component-full-width .slider--desktop.grid--5-col-desktop .grid__item {
    width: calc((100% - var(--grid-horizontal-spacing) * 4 ) / 5 - 2rem);
  }

  .slider-component-full-width .slider--desktop.grid--4-col-desktop .grid__item {
    width: calc((100% - var(--grid-horizontal-spacing) * 3 ) / 4 - 3rem);
  }

  .slider-component-full-width .slider--desktop.grid--3-col-desktop .grid__item {
    width: calc((100% - var(--grid-horizontal-spacing) * 2 ) / 3 - 4rem);
  }

  .slider-component-full-width .slider--desktop.grid--2-col-desktop .grid__item {
    width: calc((100% - var(--grid-horizontal-spacing)) / 2 - 6rem);
  }

  .slider-component-full-width .slider--desktop.grid--1-col-desktop .grid__item {
    width: calc(100% - var(--grid-horizontal-spacing) - 7rem);
  }

  .slider:not(.slider--everywhere):not(.slider--desktop) + .slider-buttons {
    display: none;
  }
}

/* Scrollbar */

.slider {
  scrollbar-color: rgb(var(--color-foreground)) rgba(var(--color-foreground), 0.04);
  -ms-overflow-style: none;
  scrollbar-width: none;
  margin: 0;
}

/* Scrollbar */

.slider::-webkit-scrollbar {
  display: none;
}

.slider-buttons--box {
  column-gap: 1rem;
}

.slider-button {
  color: rgb(var(--color-foreground));
  background: transparent;
  border: 1px solid rgb(var(--color-foreground), 0.1);
  display: flex;
  width: 42px;
  height: 42px;
  padding: 0;
}

.slider-button--float {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.slider-button--float.slider-button--prev {
  inset-inline-start: 0.5rem;
}

.slider-button--float.slider-button--next {
  inset-inline-end: 0.5rem;
}

.slider-component-full-width .slider-button--float.slider-button--prev {
  inset-inline-start: 1.5rem;
}

.slider-component-full-width .slider-button--float.slider-button--next {
  inset-inline-end: 1.5rem;
}

.slider-button span {
  width: 1rem;
  height: 1rem;
}

.slider-counter {
  border-radius: 0.4rem;
  padding: 0 1rem;
  border: 0.1rem solid rgb(var(--color-foreground), 0.1);
  width: fit-content;
}

.slider-counter__link {
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
}

.slider-counter__link--dots .dot {
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  display: block;
  background-color: rgb(var(--color-foreground), 0.5);
}

.slider-counter__link--active.slider-counter__link--dots .dot,
.slider-counter__link--dots:not(.slider-counter__link--active):hover .dot {
  background-color: rgb(var(--color-foreground));
}

.slider-button--next span {
  border-inline-end: 1.5px solid;
}

.slider-button--next span:first-child {
  transform: rotate(calc(var(--transform-direction) * 45deg));
  transform-origin: bottom var(--right-holder);
}

.slider-button--next span:last-child {
  transform: rotate(calc(var(--transform-direction) * (-45deg)));
  transform-origin: top var(--right-holder);
}

.slider-button--prev span {
  border-inline-start: 1.5px solid;
}

.slider-button--prev span:first-child {
  transform: rotate(calc(var(--transform-direction) * (-45deg)));
  transform-origin: bottom var(--left-holder);
}
.slider-button--prev span:last-child {
  transform: rotate(calc(var(--transform-direction) * 45deg));
  transform-origin: top var(--left-holder);
}

.slider-button--prev[disabled] span:first-child,
.slider-button--next[disabled] span:last-child {
  transform: rotate(calc(var(--transform-direction) * (-90deg)));
}

.slider-button--prev[disabled] span:last-child,
.slider-button--next[disabled] span:first-child {
  transform: rotate(calc(var(--transform-direction) * (90deg)));
}

.slider-button[disabled] {
  cursor: not-allowed;
  opacity: .5;
}

/* component-form */
.field__input,
.select__select {
  font-size: 1.6rem;
  -webkit-appearance: none;
  appearance: none;
  background-color: rgb(var(--color-background-input));
  color: rgb(var(--color-foreground), 0.75);
  width: 100%;
  box-sizing: border-box;
  border-radius: var(--inputs-radius);
  border: 0;
  box-shadow: inset 0 0.1rem 0.2rem rgb(var(--color-foreground), 0.1);
}

.field__input,
.select__select,
textarea {
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
}

.select__select option {
  background-color: rgb(var(--color-background));
}

.text-area,
.select {
  display: flex;
  position: relative;
  width: 100%;
}

@media(min-width: 990px) {
  .field__input,
  .select__select {
    font-size: 1.4rem; 
  }
}

/* Field */

.field--with-error {
  flex-wrap: wrap;
}

.field__input {
  text-align: start;
  padding: 1.5rem;
}

.field__label {
  margin-bottom: 0.3rem;
  display: block;
}

.field__button {
  background-color: transparent;
  border: 0;
  color: currentColor;
  cursor: pointer;
  height: 4rem;
  position: absolute;
  width: 4rem;
}

/* Form global */

.form__label {
  display: block;
  margin-bottom: 0.7rem;
}

.form__message {
  align-items: center;
  display: flex;
  font-size: 1.4rem;
  line-height: 1;
  margin-top: 1rem;
}

.form__message--large {
  font-size: 1.6rem;
}

.form__message .icon {
  flex-shrink: 0;
  height: 1.3rem;
  margin-inline-end: 0.5rem;
  margin-bottom: auto;
  width: 1.3rem;
}

.form__message--large .icon {
  height: 1.5rem;
  width: 1.5rem;
  margin-inline-end: 1rem;
}

/* Component quick-add, quick-view */

.quick-button--view {
  position: absolute;
  bottom: 1.5rem;
  inset-inline-start: calc(50% - 2.1rem);
}

.quick-view__submit {
  --buttons-radius: 1.4rem;
  width: 4.4rem;
  height: 4.4rem;
  color: rgb(var(--color-foreground));
  background: rgb(var(--color-background), 0.85);
  box-shadow: 0 0.1rem 0.1rem rgb(var(--color-foreground), 0.1);
  backdrop-filter: blur(0.2rem);
  padding: 1.2rem;
  border: none;
}

.quick-view__submit .icon-eye {
  opacity: 0.7;
}

.quick-button--add {
  max-width: 25rem;
}

.quick-button--add:only-child {
  margin: 0 auto;
}

.card__heading a:after, .full-link:after {
  bottom: 0.5rem;
  content: "";
  inset-inline: 0.5rem;
  position: absolute;
  top: 0.5rem;
  z-index: 1;
  outline-offset: 0.3rem;
}

a.banner__full-link {
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  z-index: 2;
  display: block;
  margin-top: 0;
  --outline-focus-offset: -0.3rem;
}

/* Component tooltip */

.bt-tooltip__inner {
	opacity: 0;
  pointer-events: none;
  display: none;
}

/* Component background color swatches */

[data-color] {
  background-size: cover;
  background-repeat: no-repeat;
  --color-swatch-fallback: var(--color-foreground), 0.1;
  background-color: rgb(var(--color-swatch-background, var(--color-swatch-fallback)));
  background-position: var(--background-position, center);
  background-image: var(--background-image, var(--background-gradient));
}

.color-swatch-own-image {
  background-image: var(--background-gradient);
}

/* Component product color swatches - Show color options in the card product */

.card__product-color-list__button {
	width: 1.2rem;
	height: 1.2rem;
}

.card__product-color-list__button--variant {
  width: 2.2rem;
	height: 2.2rem;
}

/* Badge */

.badge {
  border-radius: var(--badge-corner-radius);
  font-size: 1rem;
  letter-spacing: 0.03rem;
  line-height: 1;
  padding: 0.7rem 1.3rem;
  text-align: center;
  word-break: break-word;
  position: absolute;
  border: 1px solid rgb(var(--color-badge-foreground), 0.25);
}

.badge--position-1 {
  top: -1rem;
  inset-inline-start: -1rem;
}

.badge--position-2 {
  top: -1rem;
  inset-inline-end: -1rem;
}

.badge--position-3 {
  bottom: -1rem;
  inset-inline-start: -1rem;
}

.badge--position-4 {
  bottom: -1rem;
  inset-inline-end: -1rem;
}
/* Component card */

.card:not(.ratio) {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.card-radius {
  border-radius: 0.8rem;
}

card-product-colors {
  order: -1;
}

/* Component price */

.price--sold-out .price__availability,
.price__regular {
  display: block;
}

.price__sale,
.price__availability,
.price .price__badge-sale,
.price .price__badge-sold-out,
.price--on-sale .price__regular,
.price--on-sale .price__availability {
  display: none;
}

.price--sold-out .price__badge-sold-out,
.price--on-sale .price__badge-sale {
  display: inline-block;
}

/* Component scroll over image */

use-animate {
  display: block;
}

appear-animate-single {
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 1s cubic-bezier(.03,.93,.97,1), opacity 300ms ease;
}

/* Component drawer */
.drawer {
  visibility: hidden;
  position: fixed;
  z-index: 1000;
  inset-inline-start: 0;
  top: 0;
  width: 100vw;
  justify-content: flex-end;
}

/* Component floating bar */

.floating-element {
  position: fixed;
  inset-inline-end: 1.5rem;
  bottom: var(--floating-element-position);
}

.floating-button {
  padding: 0;
  min-height: 3rem;
  min-width: 3rem;
}

.recently-viewed:not(.open) .icon-close {
  display: none;
}

.recently-viewed__content {
  position: absolute;
  inset-inline-end: 0;
  bottom: 0;
  transform: translateX(calc((100% + 2.5rem) * var(--transform-direction) * (-1)));
}

.floating-element:not(.always-visible) {
  opacity: 0;
}

svg[width="16"] {
  min-width: 1.6rem;
  width: 1.6rem;
  height: 1.6rem;
}

svg[width="18"] {
  min-width: 1.8rem;
  width: 1.8rem;
  height: 1.8rem;
}

svg[width="20"] {
  min-width: 2rem;
  width: 2rem;
  height: 2rem;
}

svg[width="34"] {
  min-width: 3.4rem;
  width: 3.4rem;
  height: 3.4rem;
}

/* Accordion icon */

.summary-accordion__icon-line {
  position: absolute;
  inset-inline: 0;
  height: 0.2rem;
  border-radius: 0.5rem;
  top: 0.35rem;
}

.summary-accordion__icon-line:first-child {
  transform: rotate(90deg);
}

details[open] > summary .summary-accordion__icon-line:first-child {
  transform: rotate(0deg);
}

.summary-accordion__plus-minus {
  width: 0.9rem;
  height: 0.9rem;
}

.summary-accordion__plus-minus-wrapper {
  min-width: 2.6rem;
  height: 2.6rem;
  border-radius: 0.8rem;
}

/* Compare button */

.unstyled-button {
  background: none;
  border: none;
  padding: 0;
  font-family: var(--font-button-family);
  font-style: var(--font-button-style);
}

.compare-added-check {
  position: absolute;
  opacity: 0;
}

/* Popup modal */

.popup-modal {
  opacity: 0;
  position: fixed;
  visibility: hidden;
  z-index: -1;
}

/* Localization */

.localization-form .button {
  padding: 1rem;
}

.localization-form__currency {
  display: inline-block;
}

.localization-form__select {
  padding-inline-start: 1rem;
  background: transparent;
}

.localization-selector.link {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-bottom: 1.3rem;
  padding-top: 1.3rem;
  background: none;
}

/* Free shipping bar */

.free-shipping-bar {
  padding: 2rem 2.4rem;
}

/* Fixed LTR */

.direction-ltr {
  direction: ltr;
}

parallax-element.background-overlay:before {
  z-index: -1;
}

parallax-element.background-overlay .parallax-inner {
  z-index: -2;
}

/* Hide the empty product attributes section or block */

.product-attributes-section:not(:has(.product-attributes__value:not(:empty))),
.product-attributes-section:not(:has(.product-attributes__value:not(.hidden))),
.product-attributes__table__specifications:has(.product-attributes__table-item__specifications-list:empty),
.product-attributes__table__specifications:not(:has(.product-attributes__value:not(.hidden))) {
  display: none;
}

/* Truncate text */

.truncate-text__content-wrapper:not(.expand) {
  overflow: hidden;
  max-height: var(--truncate-text-length);
}

.button--truncate-text {
  border: 1px solid rgb(var(--color-foreground), 0.05);
  border-top: none;
  padding-top: 0;
  font-size: calc(var(--font-button-scale) * 1.2rem);
  min-width: 5rem;
}

/* Tabs component */

/* component-card.css */
.card-wrapper {
  text-decoration: none;
}

.card-wrapper:not(.card-wrapper--color-scheme) {
  color: inherit;
}

.card {
  text-align: var(--text-alignment);
  text-decoration: none;
}

.card--shadow {
  box-shadow: 0px 4px 6px rgb(var(--color-foreground), 0.05);
}

.card-information {
  text-align: var(--text-alignment);
}

.card__content {
  display: grid;
  grid-template-rows: max-content minmax(0,1fr) max-content auto;
  flex-grow: 1;
}

.card__content--product {
  margin-top: 2rem;
}

.card__media .media img {
  height: 100%;
  object-fit: cover;
  object-position: center center;
  width: 100%;
}

.card__vendor {
  margin-top: .5rem;
  margin-bottom: .5rem;
}

.card__heading {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.card .icon-wrap {
  margin-inline-start: 0.8rem;
  white-space: nowrap;
  transition: transform 100ms ease;
  overflow: hidden;
}

/* Product card */

.card-wrapper--product {
  border-radius: var(--product-card-border-radius);
}

.card-wrapper--color-scheme .card__content {
  padding: 0 var(--product-card-content-padding) var(--product-card-content-padding);
}

.card--product {
  padding: var(--product-card-padding);
  box-sizing: border-box;
}

.card--product .media {
  border-radius: var(--product-card-border-radius-image);
}

.card__heading--product-small {
  font-size: calc(var(--font-heading-scale) * 1.4rem);
  letter-spacing: -0.056px;
}

.card__heading--product {
  font-weight: var(--card-heading-product-weight);
}

.card__heading--product-large {
  font-size: calc(var(--font-heading-scale) * 1.8rem);
  letter-spacing: -0.072px;
}

.card__quick-buttons {
  column-gap: 1rem;
  min-height: 3.6rem;
}

.card-information .price__sale > .flex {
  justify-content: var(--product-card-text-alignment);
}

.card-wrapper--product:not(:has(.card__quick-buttons)) {
	--product-card-shadow-distance: 3rem;
}

@media(min-width: 990px) {
  .card__heading--product-small {
    font-size: calc(var(--font-heading-scale) * 1.8rem);
    letter-spacing: -0.072px;
  }
}

.compare-add-button {
  color: rgb(var(--color-foreground), 0.7);
}

/* Collection card */

.card__heading__collection-title-inside {
  position: absolute;
  bottom: 1.5rem;
  inset-inline: 0;
  padding: 0 1.5rem;
  letter-spacing: -0.78px;
}

.card__heading--collection {
  margin: 0;
}

.card--collection .media.loaded {
  background-color: transparent;
}

.card__heading--collection-background a:before {
  position: absolute;
  inset-inline: 0;
  inset-block: 0;
  background: linear-gradient(180deg, rgba(var(--color-background), 0.10) 41.16%, rgba(var(--color-background), 0.60) 100%);
  border-radius: 0.8rem;
}

.card__heading__collection-title-box {
  padding: 0.7rem 1rem;
}

.card-radius-collection {
  border-radius: var(--collection-card-border-radius);
}

@media (max-width: 749px) {
  .card__heading--collection--small-on-mobile {
    font-size: calc(1.4rem * var(--font-heading-scale));
    letter-spacing: 0px;
  }
}

@media (min-width: 750px) and (max-width: 989px) {
  .card__heading--collection--small-on-tablet {
    font-size: calc(1.5rem * var(--font-heading-scale));
    letter-spacing: 0px;
  }
}

@media (min-width: 990px) {
  .card__heading--collection--small-on-desktop {
    font-size: calc(1.5rem * var(--font-heading-scale));
    letter-spacing: 0px;
  }
}

/* component-list-menu.css */
.list-menu--right {
  inset-inline-end: 0;
}

.list-menu--disclosure:focus {
  outline: none;
}

.list-menu--disclosure.localization-selector {
  max-height: 18rem;
  overflow: auto;
  width: 10rem;
  padding: 0.5rem;
}

.header__submenu--last-level {
  position: absolute;
  inset-inline-start: 100%;
  top: -3rem;
}

/* component-mega-menu.css */
.mega-menu__content {
  background-color: rgb(var(--color-background));
  border-inline-start: 0;
  border-inline-end: 0;
  border-radius: 0;
  inset-inline: 0;
  overflow-y: auto;
  padding-bottom: 2.4rem;
  padding-top: 2.4rem;
  transition: opacity 500ms cubic-bezier(.38,.65,.33,1), transform 500ms cubic-bezier(.38,.65,.33,1);
}

@media screen and (min-width: 990px) {
  .mega-menu__content.outside-viewport {
    max-height: calc(100vh - var(--header-bottom-position-desktop, 20rem) - 4rem);
  }
}

.header-wrapper--border-bottom .mega-menu__content {
  border-top: 0;
}

.js .mega-menu[open].closing > summary + *, .js .header__submenu__last[open].closing > summary + * {
  opacity: 0;
  transform: translateY(-1.5rem);
}

.mega-menu__content__inner {
  --column-gap: 3rem;
  --row-gap: 3rem;
  gap: var(--row-gap) var(--column-gap);
}

.mega-menu__column--span1 {
  --total-columns: 1;
}

.mega-menu__column--span1 > li {
  grid-column: span 1;
}

.mega-menu__column--span2 {
  --total-columns: 2;
}

.mega-menu__column--span3 {
  --total-columns: 3;
}

.mega-menu__column--span4 {
  --total-columns: 4;
}

.mega-menu__column--span5 {
  --total-columns: 5;
}

.mega-menu__column--span6 {
  --total-columns: 6;
}

.mega-menu__column {
  display: grid;
  grid-template-columns: repeat(var(--total-columns), 1fr);
  width: calc((25% * var(--total-columns)) - (var(--column-gap) / 2));
  height: fit-content;
  gap: var(--row-gap);
}

.mega-menu__column--allow-full {
  grid-template-columns: 1fr;
}

.mega-menu__overlay {
  background: rgb(var(--color-background), var(--overlay-opacity));
  z-index: 0;
}

.mega-menu__list {
  display: grid;
  gap: var(--row-gap) var(--column-gap);
  grid-template-columns: repeat(var(--total-columns), minmax(0, 1fr));
  list-style: none;
  padding: 0;
  grid-template-rows: min-content;
}

.mega-menu__list--center {
  flex: 1;
}

.mega-menu__list .list-menu__item--level2 {
  padding: 0;
}

.mega-menu__link {
  display: inline-block;
  padding-bottom: 0.6rem;
  padding-top: 0.6rem;
  text-decoration: none;
  word-wrap: break-word;
}

.mega-menu__link:hover .mega-menu__small-image {
  border-color: rgb(var(--color-foreground));
}

.mega-menu__link--title {
  padding-top: 0;
  color: rgb(var(--color-foreground));
  margin-bottom: 1.5rem;
}

.mega-menu__link--level-2 {
  font-size: 1.4rem;
}

.mega-menu__link--level-2:not(:only-child) {
  margin-bottom: 0.8rem;
}

.mega-menu .mega-menu__list--condensed {
  display: block;
}

.mega-menu__list--condensed .mega-menu__link {
  font-weight: var(--font-heading-weight-medium);
}

.mega-menu__column__item .card__inner .card__content--overlay-text {
  position: absolute;
  inset-block: 0;
  inset-inline: 0;
}

div.mega-menu__promotion-info {
  padding: 1rem;
  grid-row-start: var(--text-position);
}

.mega-menu__promotion-info > * + * {
  margin-top: 1rem;
}

.mega-menu__promotion-info > * + .mega-menu__promotion-info__button {
  margin-top: 1.5rem;
}

.mega-menu__promotion-info__action {
  z-index: 1;
}

.mega-menu__heading-promo {
  margin-top: 0;
}

.mega-menu__link--has-small-image {
  display: flex;
}

.mega-menu__small-image {
  min-width: 5rem;
  width: 5rem;
  border: 1px solid rgb(var(--color-foreground), .1);
  padding: 0.3rem;
  margin-inline-end: 1rem;
  transition: border-color .5s ease;
}

.mega-menu__small-image--circle {
  border-radius: 50%;
}

.menu-drawer__menu-labels {
  padding: 16px 24px;
  border: 1px solid rgb(var(--color-foreground), 0.05);
  border-radius: 0.8rem;
}

.menu-drawer__menu-labels__list {
  gap: 1rem 1.5rem;
}

.menu-drawer__menu-labels__item-gap {
  gap: 0.8rem;
}

.mega-menu__splitting-span {
  grid-column: span var(--total-columns);
}

.mega-menu__list--splitting {
  --row-gap: 0px;
  grid-auto-flow: column;
  grid-template-rows: repeat(var(--total-rows), min-content);
}

.mega-menu__promotion-info__button-link {
  z-index: 1;
}

/* component-drawer.css */
.drawer {
  background-color: rgba(var(--color-overlay), 0.5);
  transition: visibility 300ms ease;
}

.drawer.active {
  visibility: visible;
}

.drawer__inner {
  width: calc(100vw - 4rem);
  height: 100%;
  background-color: rgb(var(--color-background));
  overflow: auto;
  display: flex;
  row-gap: 1.5rem;
  flex-direction: column;
  transform: translateX(calc(var(--transform-direction) * (-100%)));
  transition: transform 300ms ease;
}

.drawer__inner > * {
  padding: 0 2rem;
}

.drawer.active .drawer__inner {
  transform: translateX(0);
}

.drawer__header {
  padding-inline-end: 0.5rem;
  border-bottom: 1px solid rgb(var(--color-foreground),.05);
  box-shadow: 0px 1px 2px 0px rgba(var(--color-foreground), 0.03);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.drawer__close {
  padding: 0;
  min-width: 4.4rem;
  min-height: 4.4rem;
  box-shadow: 0 0 0 0.2rem rgba(var(--color-button), 0);
  color: rgb(var(--color-foreground));
  background-color: transparent;
  border: none;
  cursor: pointer;
}

.drawer__close svg {
  height: 1.5rem;
  width: 1.5rem;
}

.drawer__contents {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

@media(min-width: 750px) {
  .drawer__inner {
    width: 50rem;
    max-width: calc(100vw - 3rem);
  }
}

@media(min-width: 990px) {
  .drawer__inner--medium {
    width: 60rem;
  }

  .drawer__inner--large {
    width: 70rem;
  }
}

div.drawer__overlay:empty {
  position: fixed;
  top: 0;
  bottom: 0;
  inset-inline: 0;
  display: block;
  cursor: pointer;
}

/* component-menu-drawer.css */
.header__icon--menu {
  position: initial;
}

.js menu-drawer > details > summary::before,
.js menu-drawer > details[open]:not(.menu-opening) > summary::before {
  content: '';
  position: absolute;
  cursor: default;
  width: 100%;
  height: calc(100vh - 100%);
  height: calc(
    var(--viewport-height, 100vh) - (var(--header-bottom-position, 100%) - 0.1rem)
  );
  top: 100%;
  inset-inline-start: 0;
  background: rgba(var(--color-foreground), 0.5);
  opacity: 0;
  visibility: hidden;
  z-index: 2;
  transition: opacity 0s, visibility 0s;
}

menu-drawer > details[open] > summary::before {
  visibility: visible;
  opacity: 1;
  transition: opacity 300ms ease,
    visibility 300ms ease;
}

.menu-drawer {
  --margin-block: 1.5rem;
  position: absolute;
  transform: translateX(calc(var(--transform-direction) * 100%));
  visibility: hidden;
  z-index: 3;
  inset-inline-start: 0;
  top: 100%;
  width: 100vw;
  padding: 0;
  background-color: rgb(var(--color-background));
  overflow-x: hidden;
}

.js .menu-drawer {
  height: calc(100vh - 100%);
  height: calc(
    var(--viewport-height, 100vh) - (var(--header-bottom-position, 100%))
  );
}

.js details[open] > .menu-drawer,
.js details[open] > .menu-drawer__submenu {
  transition: transform 500ms ease, visibility 300ms ease;
}

.no-js details[open] > .menu-drawer,
.js details[open].menu-opening > .menu-drawer,
details[open].menu-opening > .menu-drawer__submenu {
  transform: translateX(0);
  visibility: visible;
}

.back-button-menu {
  inset-inline-end: 1.5rem;
  transition: opacity 300ms ease, visibility 300ms ease, transform 500ms ease;
  z-index: 4;
}

.back-button-menu button {
  width: 5rem;
  height: 5rem;
  padding: 0;
}

.section-header.menu-open ~ .back-button-menu, .open-submenu-mobile .back-button-menu {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.js .menu-drawer__navigation .submenu-open {
  visibility: hidden; /* hide menus from screen readers when hidden by submenu */
}

@media screen and (min-width: 750px) {
  .menu-drawer {
    width: 40rem;
  }

  .no-js .menu-drawer {
    height: auto;
  }
}

.menu-drawer__navigation-container {
  overflow-y: auto;
  background-color: rgb(var(--color-background));
}

.menu-drawer__block {
  margin: var(--margin-block);
}

.menu-drawer__background {
  background-color: rgb(var(--color-background-input));
  border-radius: 1rem;
}

.menu-drawer__block + .menu-drawer__block {
  margin-top: 0;
}

.menu-drawer__inner-submenu {
  overflow-x: hidden;
  overflow-y: auto;
  height: 100%;
}

.no-js .menu-drawer__navigation {
  padding: 0;
}

.no-js .menu-drawer__navigation > ul > li {
  border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.04);
}

.no-js .menu-drawer__submenu ul > li {
  border-top: 0.1rem solid rgba(var(--color-foreground), 0.04);
}

.menu-drawer__menu li {
  border-bottom: 1px solid rgb(var(--color-background));
}

.menu-drawer__menu li:last-child {
  border-bottom: none;
}

.menu-drawer__menu-item {
  padding: 2rem 3.2rem;
  text-decoration: none;
}

.no-js .menu-drawer__menu-item {
  font-size: 1.6rem;
}

.no-js .menu-drawer__submenu .menu-drawer__menu-item {
  padding: 1.2rem 5.2rem 1.2rem 6rem;
}

.no-js .menu-drawer__submenu .menu-drawer__submenu .menu-drawer__menu-item {
  padding-inline-start: 9rem;
}

.menu-drawer summary.menu-drawer__menu-item {
  padding-inline-end: 7rem;
}

.no-js .menu-drawer__menu-item .icon-caret {
  inset-inline-end: 3rem;
}

.menu-drawer__menu-item--active,
.header__menu-item--top-highlight-drawer,
.menu-drawer__menu-item:focus,
.menu-drawer__close-button:focus,
.menu-drawer__menu-item:not(.mega-menu__column__item):hover,
.menu-drawer__close-button:hover {
  background-color: rgba(var(--color-foreground), 0.05);
}

.menu-drawer__menu-item--active:hover {
  background-color: rgba(var(--color-foreground), 0.08);
}

.menu-drawer__menu-item.first {
  --menu-item-radius: 1rem 1rem 0 0;
  --menu-highlight-radius: 1rem 0 0 0;
}

.menu-drawer__menu-item.last {
  --menu-item-radius: 0 0 1rem 1rem;
  --menu-highlight-radius: 0 0 0 1rem;
}

.menu-drawer__menu-item--active, .header__menu-item--top-highlight-drawer {
  position: relative;
  border-radius: var(--menu-item-radius, 0);
}

.menu-drawer__menu-item--active:before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  bottom: 0;
  border-inline-start: 1rem solid rgb(var(--color-highlight));
  border-radius: var(--menu-highlight-radius, 0);
}

.js .menu-drawer__menu-item:not(.mega-menu__column__item) .icon-caret {
  --size: 3rem;
  transform: translateY(-50%) rotate(calc(var(--transform-direction) * 90deg));
  top: 50%;
  width: var(--size);
  height: var(--size);
  padding: 0.8rem;
  background: rgb(var(--color-background));
  border-radius: 50%;
  box-sizing: border-box;
}

.js .menu-drawer__menu-item--active:not(.mega-menu__column__item) .icon-caret {
  color: rgb(var(--color-button-text));
  background: rgb(var(--color-button));
}

.menu-drawer__submenu {
  border-radius: 1rem;
}

.js .menu-drawer__submenu .menu-drawer__submenu {
  --margin-block: 0;
}

.js .menu-drawer__submenu {
  position: absolute;
  top: var(--margin-block);
  bottom: var(--margin-block);
  inset-inline: var(--margin-block);
  z-index: 1;
  transform: translateX(calc(var(--transform-direction) * (-100%)));
  visibility: hidden;
}

.js .menu-drawer__submenu .menu-drawer__submenu {
  overflow-y: auto;
  z-index: 2;
}

.menu-drawer__close-button {
  padding: 1.2rem 2.6rem;
  text-decoration: none;
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  width: 100%;
  background-color: transparent;
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  text-align: start;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  border-bottom: 1px solid rgb(var(--color-background));
}

.no-js .menu-drawer__close-button {
  display: none;
}

.menu-drawer__close-button .icon-arrow {
  margin-inline-end: 1rem;
}

.menu-drawer__utility-links {
  padding: 2rem 2.7rem;
}

.menu-drawer__localization .localization-form__select {
  padding-inline-start: 2.7rem;
  padding-inline-end: 4.7rem;
}

.menu-drawer__localization .localization-form__select .icon-caret {
  inset-inline-end: 2rem;
}

/* component-search-modal.css */
.search-modal {
  position: absolute;
  inset-inline: 0;
  top: 100%;
  padding: 1.5rem 0;
}

details[open] > .search-modal {
  opacity: 1;
  animation: animateMenuOpen 300ms ease;
  z-index: 5;
}

.search-modal__inner {
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 1.5rem;
}

.search-modal__close-button {
  align-self: center;
}

.header__search .search-modal-overlay {
  display: block;
}

.search-modal-overlay {
  opacity: 0;
  visibility: hidden;
  transition: opacity 300ms ease, visibility 300ms ease;
  position: fixed;
  top: 0;
  bottom: 0;
  inset-inline: 0;
  z-index: 1;
  transition: opacity .3s ease, visibility .3s ease;
  background: rgb(var(--color-foreground),.1);
  pointer-events: none;
}

.header__search:not(.header__search--has-predictive) details[open] + .search-modal-overlay, .no-js .header__search details[open] + .search-modal-overlay {
  opacity: 1;
  visibility: visible;
  z-index: 1;
  cursor: pointer;
  pointer-events: auto;
}

/* component-rte.css */
.rte {
  word-break: break-word;
}

.rte:after {
  clear: both;
  content: '';
  display: block;
}

.rte h1,.rte h2,.rte h3,.rte h4,.rte h5,.rte h6 {
  margin-block: 0.25em;
}

.rte p {
  margin-block: 0.5em;
}

.rte > *:first-child {
  margin-top: 0;
}

.rte > *:last-child {
  margin-bottom: 0;
}

.rte table,
.rte table:not([class]) {
  table-layout: inherit;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
}

@media screen and (min-width: 750px) {
  .rte table td {
    padding-inline: 1.2rem;
  }
}

.rte ul, .rte ol {
  padding-inline-start: 2rem;
}

.rte li {
  list-style: inherit;
}

.rte li:last-child {
  margin-bottom: 0;
}

.rte a {
  color: rgba(var(--color-link), var(--alpha-link));
  text-decoration: underlined;
  text-underline-offset: 0.3rem;
  text-decoration-thickness: 0.1rem;
  transition: text-decoration-thickness 100ms ease;
}

.rte a:hover {
  color: rgb(var(--color-link));
  text-decoration-thickness: 0.2rem;
}

.rte blockquote {
  display: inline-flex;
}

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

.rte iframe {
  max-width: 100%;
}

.rte iframe:not([height]) {
  height: auto;
}

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

.rte ul:not(:has(li:not(:empty))), .rte ol:not(:has(li:not(:empty))), .rte li:empty {
  display: none;
}

/* component-accordion.css */
.accordion {
  --accordion-distance: 1.5rem;
  --accordion-block-distance: var(--accordion-distance);
  margin: 0;
}

.accordion-wrapper:not(.accordion-wrapper--dividers) .accordion {
  --accordion-block-distance: calc(var(--accordion-distance) / 2);
}

.accordion-wrapper--dividers .accordion + .accordion {
  position: relative;
}

.accordion-wrapper--dividers .accordion + .accordion:before {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 0;
  border-top: 1px solid rgb(var(--color-foreground), 0.1);
}

.accordion-wrapper:not(.border-style) .accordion:first-child {
  margin-top: calc(-1 * var(--accordion-block-distance));
}

.accordion .icon-accordion {
  align-self: center;
  margin-inline-end: calc(var(--font-heading-scale) * 1rem);
}

.accordion summary {
  padding: var(--accordion-block-distance) 0;
}

.accordion__content {
  word-break: break-word;
  overflow-x: auto;
  padding-block: 0 var(--accordion-block-distance);
  padding-inline: calc((var(--font-heading-scale) * 1rem) + 2rem) 0;
}

.accordion:last-child .accordion__content {
  padding-bottom: 0;
}

.accordion__content--no-icon {
  padding-inline-start: 0;
}

.accordion__content img {
  max-width: 100%;
}

/* component-list-social.css */
.list-social__link {
  border-radius: 50%;
  background: var(--icon-background-color);
  color: #fff;
  padding: 1rem;
}

.list-social__link--twitter {
  --icon-background-color: #000;
}

.list-social__link--facebook {
  --icon-background-color: #3B5998;
}

.list-social__link--linkedin {
  --icon-background-color: #1565C0;
}

.list-social__link--youtube {
  --icon-background-color: #D71E18;
}

.list-social__link--instagram {
  --icon-background-color: #383A3E;
}

.list-social__link--pinterest {
  --icon-background-color: #b8091b;
}

.list-social__link--tiktok {
  --icon-background-color: #383838;
}

.list-social__link--tumblr {
  --icon-background-color: #001835;
}

.list-social__link--snapchat {
  --icon-background-color: #FFFC00;
  color: #000;
}

.list-social__link--vimeo {
  --icon-background-color: #00adef;
}

.list-social__link:hover .icon {
  transform: scale(1.07);
}

.list-social__transparent {
  position: relative;
}

.list-social__transparent:after {
  content: "";
  position: absolute;
  inset-inline: -1rem;
  top: -1rem;
  bottom: -1rem;
  background: rgb(var(--color-foreground), 0.1);
  transform: scale(0);
  transition: transform 500ms ease;
  border-radius: 50%;
}

.list-social__transparent:hover:after {
  transform: scale(1);
}

ul.list-social--in-drawer {
  gap: 1rem;
}

/* disclosure.css */
@keyframes animateDisclosureContent {
  0% {
    opacity: 0;
    transform: translateY(0);
  }

  100% {
    opacity: 1;
    transform: translateY(var(--disclosure-direction, -1rem));
  }
}

.disclosure__button {
  --outline-focus-offset: -0.3rem;
  background-color: rgb(var(--color-background-input));
}

.disclosure__button .icon-caret {
  transition: transform 100ms ease;
}

.disclosure__list-wrapper {
  position: absolute;
  transform: translateY(var(--disclosure-direction, -1rem));
  background-color: rgb(var(--color-background));
  border-radius: 0.8rem;
  box-shadow: 0px 0px 40px 0px rgb(var(--color-foreground), 0.1);
  white-space: nowrap;
}

.disclosure[open] .disclosure__list-wrapper {
  animation: animateDisclosureContent 350ms ease;
  z-index: 5;
}

.disclosure.closing .disclosure__list-wrapper {
  opacity: 0;
  transform: translateY(0);
  transition: opacity 300ms ease, transform 300ms ease;
}

.disclosure__list-wrapper--bottom {
  top: 100%;
}

.disclosure__list-wrapper--top {
  bottom: 100%;
}

.disclosure__list {
  position: relative;
  overflow-y: auto;
  font-size: 1.4rem;
  padding-bottom: 0.5rem;
  padding-top: 0.5rem;
  scroll-padding: 0.5rem 0;
  min-height: 8.2rem;
  max-height: 19rem;
}

.disclosure__link {
  display: block;
  margin: 0.5rem 2.2rem;
  text-decoration: none;
  line-height: calc(1 + 0.8 / var(--font-body-scale));
}

/* section-footer.css */
.footer__text-color {
  color: rgb(var(--color-foreground), 0.8);
}

.footer__text-color strong {
  color: rgb(var(--color-foreground));
}

.footer__content-top {
  padding-bottom: 5rem;
  display: block;
}

.footer__logo + .footer-block__heading {
  margin-top: 3rem;
}

.footer__logo img {
  height: auto;
}

.footer__content-middle, .footer__content-bottom {
  padding: 2.5rem 0;
}

.list-payment {
  gap: 1rem;
}

.footer__localization-selector.localization-selector {
  padding-inline-start: 1.3rem;
}

.footer__localization-selector.localization-selector .icon {
  inset-inline-end: 1.3rem;
}

.footer-block__2-cols {
  columns: 2;
}

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

  .footer-block.grid__item {
    padding: 0;
    margin: 0;
    width: 100%;
  }

  .footer-block.grid__item:first-child {
    margin-top: 0;
  }

  .footer__content-top {
    padding-bottom: 3rem;
  }

  .footer__logo--margin-top-mobile {
    margin-top: 2rem;
  }
}

@media screen and (min-width: 750px) {
  .footer__content-top .grid {
    row-gap: 6rem;
    margin-bottom: 0;
  }
}

.footer__content-middle {
  border-top: solid 0.1rem rgba(var(--color-foreground), 0.08);
}

.footer__content-middle:only-child {
  border-top: 0;
}

@media screen and (max-width: 749px) {
  .footer__content-sub-wrapper {
    flex-wrap: wrap;
    row-gap: 1.5rem;
  }
}

.footer-block:only-child:last-child {
  text-align: center;
  max-width: 76rem;
  margin: 0 auto;
}

@media screen and (min-width: 750px) {
  .footer-block {
    display: block;
    margin-top: 0;
  }
}

.footer-block:empty {
  display: none;
}

@media screen and (max-width: 749px) {
  .footer-block.footer-block--menu:only-child {
    text-align: start;
  }
}

.footer-block__heading {
  margin-bottom: 3rem;
  margin-top: 0;
}

.footer__content-sub-wrapper {
  gap: 1.5rem;
}

.footer__list-social:empty {
  display: none;
}

.footer__localization {
  flex-direction: row;
  align-content: center;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 1rem;
}

.footer__localization:empty {
  display: none;
}

.footer__localization h2 {
  margin: 1rem 1rem 0.5rem;
  color: rgba(var(--color-foreground), 0.75);
}

.footer__localization localization-form {
  margin-inline-start: -1rem;
}

.footer__localization localization-form ~ localization-form {
  margin-inline-start: 0;
}

.footer__column__bottom-links {
  gap: 0.5rem 1.5rem;
}

.footer__column .localization-selector.link {
  border: 1px solid rgb(var(--color-foreground), .1);
  border-radius: 0.5rem;
}

@media screen and (min-width: 750px) {
  .footer-block__newsletter:not(:only-child) .newsletter-form__message--success {
    inset-inline-start: auto;
  }

  .footer__localization {
    padding: 0.4rem 0;
    justify-content: flex-start;
  }

  .footer__localization h2 {
    margin: 1rem 0 0;
  }

  .footer__column__bottom-links {
    gap: 0.5rem 4rem;
  }

  .footer__column__bottom-links li + li {
    position: relative;
  }

  .footer__column__bottom-links li + li:before {
    content: "";
    border-inline-start: 0.1rem solid rgb(var(--color-foreground), 0.18);
    position: absolute;
    inset-inline-start: -2rem;
    top: 0;
    bottom: 0;
  }
}

@media screen and (max-width: 989px) {
  .footer__localization noscript {
    width: 100%;
  }
}

.footer__copyright {
  text-align: center;
}

.footer-block__details-content {
  padding-bottom: 4rem;
  word-break: break-word;
}

footer-collapse-block {
  display: block;
}

@media (max-width: 749px) {
  .footer-block:not(:last-child) {
    border-bottom: 1px dashed rgb(var(--color-foreground), 0.1);
  }

  .footer-block__heading {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  .footer-block:last-child .footer-block__details-content {
    padding-bottom: 1rem;
  }

  .js .footer-block__collapse-link {
    display: flex;
    width: 100%;
    justify-content: space-between;
  }

  .js .footer-block__collapse-link .icon {
    transition: transform 0.3s ease;
  }

  .js footer-collapse-block[open] .footer-block__collapse-link .icon {
    transform: rotate(180deg);
  }

  .js footer-collapse-block .footer-block__details-content {
    display: none;
  }

  .js footer-collapse-block[open] .footer-block__details-content {
    display: block;
  }

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

  .footer__column__bottom-links {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (min-width: 750px) {
  .footer__copyright {
    text-align: end;
  }
  
  .footer__payment {
    justify-content: flex-start;
  }
  
  .footer-block__details-content {
    padding: 0;
  }

  .footer-block__details-content > p,
  .footer-block__details-content > li {
    padding: 0;
  }

  .footer-block:only-child li {
    display: inline;
  }

  .footer-block__collapse-link {
    cursor: default;
  }
}

.copyright__content a {
  color: rgba(var(--color-foreground), 0.75);
}

@media screen and (min-width: 750px) {
  .copyright__content a:hover {
    color: rgb(var(--color-foreground));
    text-decoration: underline;
    text-underline-offset: 0.3rem;
  }
}

@media screen and (max-width: 989px) {
  .footer-block__details-content .list-menu__item--link {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}

@media screen and (min-width: 750px) {
  .footer-block__details-content .list-menu__item--link {
    display: inline-block;
  }

  .footer-block__details-content > :first-child .list-menu__item--link {
    padding-top: 0;
  }
}

.footer-block__details-content .placeholder-svg {
  max-width: 20rem;
}

.copyright__content a {
  color: currentColor;
  text-decoration: none;
}

.footer-block-store-information__item + .footer-block-store-information__item {
  margin-top: 1rem;
}

.footer-block-store-information__item__icon {
  margin-inline-end: 1rem;
}

/* check for flexbox gap in older Safari versions */
@supports not (inset: 10px) {
  @media screen and (max-width: 749px) {
    .footer__inner .grid {
      margin-inline-start: 0;
    }
  }

  @media screen and (min-width: 750px) {
    .footer__content-top .grid {
      margin-inline-start: -3rem;
    }

    .footer__content-top .grid__item {
      padding-inline-start: 3rem;
    }
  }
}

/* base.css */
@keyframes animateMenuOpen {
  0% {
    opacity: 0;
    transform: translateY(-1.5rem);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion) {
  .motion-reduce {
    transition: none !important;
    animation: none !important;
  }
}

.underlined-link:hover {
  color: rgb(var(--color-link));
}

blockquote {
  font-style: italic;
  color: rgba(var(--color-foreground), 0.75);
  border-inline-start: 0.2rem solid rgba(var(--color-foreground), 0.2);
  padding-inline-start: 1rem;
}

@media screen and (min-width: 750px) {
  blockquote {
    padding-inline-start: 1.5rem;
  }
}

table:not([class]) {
  border-collapse: collapse;
  font-size: 1.4rem;
  border: 0.1rem solid rgb(var(--color-foreground), 0.2);
}

table:not([class]) td,
table:not([class]) th {
  padding: 1em;
  border: 0.1rem solid rgba(var(--color-foreground), 0.2);
}

.placeholder-svg {
  fill: currentColor;
}

/* arrow animation */
.animate-arrow .icon-arrow path {
  transform: translateX(-0.25rem);
  transition: transform 100ms ease;
}

.animate-arrow:hover .icon-arrow path {
  transform: translateX(-0.05rem);
}

/* check for flexbox gap in older Safari versions */
@supports not (inset: 10px) {
  .grid {
    margin-inline-start: calc(-1 * var(--grid-mobile-horizontal-spacing));
  }

  .grid__item {
    padding-inline-start: var(--grid-mobile-horizontal-spacing);
    padding-bottom: var(--grid-mobile-vertical-spacing);
  }

  @media screen and (min-width: 750px) {
    .grid {
      margin-inline-start: calc(-1 * var(--grid-desktop-horizontal-spacing));
    }

    .grid__item {
      padding-inline-start: var(--grid-desktop-horizontal-spacing);
      padding-bottom: var(--grid-desktop-vertical-spacing);
    }
  }

  .grid--gapless .grid__item {
    padding-inline-start: 0;
    padding-bottom: 0;
  }

  @media screen and (min-width: 749px) {
    .grid--peek .grid__item {
      padding-inline-start: var(--grid-mobile-horizontal-spacing);
    }
  }

  .product-grid .grid__item {
    padding-bottom: var(--grid-mobile-vertical-spacing);
  }

  @media screen and (min-width: 750px) {
    .product-grid .grid__item {
      padding-bottom: var(--grid-desktop-vertical-spacing);
    }
  }
}

/* base-focus */
/*
  Focus ring - default (with offset)
*/

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

*:focus-visible, .block-editing {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  outline-offset: var(--outline-focus-offset, 0.3rem);
}

.skip-to-content-link:focus {
  z-index: 9999;
  position: inherit;
  overflow: auto;
  width: auto;
  height: auto;
  clip: auto;
}

.skip-to-content-link--all {
  margin: 1rem 0 0 1rem;
}

/* Fallback - for browsers that don't support :focus-visible, a fallback is set for :focus */
.focused,
.no-js *:focus {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  outline-offset: 0.3rem;
  box-shadow: 0 0 0 0.3rem rgb(var(--color-background)),
    0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
}

/* Negate the fallback side-effect for browsers that support :focus-visible */
.no-js *:focus:not(:focus-visible) {
  outline: 0;
  box-shadow: none;
}

/*
  Focus ring - inset
*/

.focus-inset:focus-visible {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  outline-offset: -0.2rem;
  box-shadow: 0 0 0.2rem 0 rgba(var(--color-foreground), 0.3);
}

.focused.focus-inset,
.no-js .focus-inset:focus {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  outline-offset: -0.2rem;
  box-shadow: 0 0 0.2rem 0 rgba(var(--color-foreground), 0.3);
}

.no-js .focus-inset:focus:not(:focus-visible) {
  outline: 0;
  box-shadow: none;
}

/*
  Focus ring - none
*/

/* Dangerous for a11y - Use with care */
.focus-none {
  box-shadow: none !important;
  outline: 0 !important;
}

.full-width-link {
  position: absolute;
  inset-block: 0;
  inset-inline: 0;
  z-index: 2;
}

::selection {
  background-color: rgba(var(--color-foreground), 0.05);
}

/* Highlight elements */

.highlight {
  color: rgb(var(--color-highlight));
}

a.light:hover {
  opacity: 1;
}

/* disclosure  */
.disclosure-has-popup[open] > summary::before {
  position: fixed;
  inset-block: 0;
  inset-inline: 0;
  z-index: 2;
  display: block;
  cursor: default;
  content: ' ';
  background: transparent;
}

.disclosure-has-popup > summary::before {
  display: none;
}

.disclosure-has-popup[open] > summary + * {
  z-index: 100;
  position: relative;
}

@media screen and (min-width: 750px) {
  .disclosure-has-popup[open] > summary + * {
    z-index: 4;
  }
}

summary .icon-caret {
  transition: transform 500ms cubic-bezier(.03,.93,.97,1);
}
/* component-button */
/* Button - default */

.shopify-payment-button__button--branded {
  z-index: auto;
}

.button:disabled,
.button[aria-disabled='true'],
.button.disabled,
.customer button:disabled,
.customer button[aria-disabled='true'],
.customer button.disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.button.loading .icon, .button.loading span {
  opacity: 0;
}

.button:not(.ignore-effect):not(:disabled):before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg,
    rgba(255, 255, 255, 0.6) 0%,
    rgba(255, 255, 255, 0.35) 35%,
    rgba(255, 255, 255, 0.1) 65%,
    rgba(255, 255, 255, 0) 100%
  );
  opacity: 0;
  transition: opacity 400ms ease;
}

.button:not(.ignore-effect):not(:disabled):hover {
  color: rgb(var(--color-button));
  backdrop-filter: blur(calc(var(--button-glass-blur) + 2px));
  -webkit-backdrop-filter: blur(calc(var(--button-glass-blur) + 2px));
}

.button--secondary:not(.ignore-effect):not(:disabled):hover, .button--tertiary:not(.ignore-effect):not(:disabled):hover {
  color: rgb(var(--color-button));
}

.button:not(.ignore-effect):not(:disabled):hover > * {
  z-index: 0;
}

.button:not(.ignore-effect):not(:disabled):hover:before {
  opacity: 1;
}

/* Enhance glass shine on hover */
.button:not(.ignore-effect):not(:disabled):hover::after,
.shopify-challenge__button:hover::after {
  opacity: 1.2;
  background: linear-gradient(90deg, 
    rgba(var(--button-glass-shine-color), calc(var(--button-glass-shine-opacity) * 1.2)) 100%, 
    transparent 40%
  );
}

@media screen and (forced-colors: active) {
  .button.loading {
    color: rgb(var(--color-foreground));
  }
}

.button .loading-overlay__spinner svg {
  height: 100%;
  width: 100%;
}

.button.loading > .loading-overlay__spinner {
  top: 50%;
  inset-inline-start: 50%;
  transform: translate(calc(var(--transform-direction) * 50%), -50%);
  position: absolute;
  height: 100%;
  width: min(5rem, 50%);
}

.button.loading > .loading-overlay__spinner .spinner {
  width: fit-content;
}

.button:focus-visible,
.button.focused,
.shopify-payment-button__button--unbranded:focus-visible,
.shopify-payment-button [role="button"]:focus-visible,
.shopify-payment-button__button--unbranded:focus,
.shopify-payment-button [role="button"]:focus {
  outline: 0;
  box-shadow: 0 0 0 0.3rem rgb(var(--color-background)),
    0 0 0 0.5rem rgba(var(--color-foreground), 0.5),
    0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
}

.button::selection,
.shopify-challenge__button::selection,
.customer button::selection {
  background-color: rgba(var(--color-button-text), 0.3);
}

.button:disabled,
.button[aria-disabled='true'],
.button.disabled,
.customer button:disabled,
.customer button[aria-disabled='true'],
.customer button.disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.button.loading:disabled,
.button.loading[aria-disabled='true'],
.button.loading.disabled {
  opacity: 1;
}

.shopify-challenge__button:hover {
  color: rgb(var(--color-button));
  background-color: rgb(var(--color-button-text));
}

/* Section heading */

.title__buttons {
  z-index: 1;
}

/* component-form */

.field {
  transition: box-shadow 100ms ease;
}

.field__input,
.select__select,
.customer .field input,
.customer select,
.spr-form-input {
  transition: box-shadow 100ms ease;
}

.form-status {
  margin: 0;
  font-size: 1.6rem;
  padding: 0.5rem 1rem;
}

.form-status-list {
  padding: 0;
  margin: 1rem 0 0;
}

.form-status-list li {
  list-style-position: inside;
}

.form-status-list .link::first-letter {
  text-transform: capitalize;
}

/* Field */

.field__input::-webkit-search-cancel-button,
.customer .field input::-webkit-search-cancel-button {
  display: none;
}

.field__input::placeholder,
.customer .field input::placeholder {
  opacity: 0;
}

.field__input:-webkit-autofill ~ .field__button,
.field__input:-webkit-autofill ~ .field__label,
.customer .field input:-webkit-autofill ~ label {
  color: rgb(0, 0, 0);
}

.field__list-option {
  gap: 1rem 1.5rem;
}

/* Text area */

.text-area {
  min-height: 10rem;
  resize: none;
}

input[type='checkbox'] {
  display: inline-block;
  width: auto;
  margin-inline-end: 0.5rem;
}

/* component-quantity */

.quantity__input::-webkit-outer-spin-button,
.quantity__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.quantity__input[type='number'] {
  -moz-appearance: textfield;
}

.quantity__button {
  transition: background-color 300ms ease;
}

.quantity__button:hover:not(:active) {
  background-color: rgb(var(--color-foreground), .1);
}

.quantity__button:active {
  background-color: rgb(var(--color-foreground), .5);
}

.quantity__button:focus-visible,
.quantity__input:focus-visible {
  z-index: 2;
}

.quantity__button:focus,
.quantity__input:focus {
  z-index: 2;
}

.quantity__input:-webkit-autofill,
.quantity__input:-webkit-autofill:hover,
.quantity__input:-webkit-autofill:active {
  box-shadow: 0 0 0 10rem rgb(var(--color-background)) inset !important;
  -webkit-box-shadow: 0 0 0 10rem rgb(var(--color-background)) inset !important;
}

/* Search */

.no-js details[open] > .header__icon--search {
  top: 1rem;
  inset-inline-end: 0.5rem;
}

.header__search > details .modal__close-button.link {
  z-index: 1;
}

/* Header sticky */
.shopify-section-header-sticky .hide-in-sticky {
  display: none;
}

/* Main header layout */

/* section-header */

.section-header {
  z-index: 4;
}

sticky-header {
  min-height: var(--sticky-header-height-mobile, auto);
}

sticky-header header {
  background: rgb(var(--color-background));
}

.section-header.animate header {
  transition: transform 500ms cubic-bezier(.03,.93,.97,1), top 500ms cubic-bezier(.03,.93,.97,1);
}

.shopify-section-header-sticky header {
  position: fixed;
  top: 0;
}

.shopify-section-header-hidden .header {
  transform: translateY(-100%);
}

.header-top {
  z-index: 5;
}

.header__toggle-nav-button {
  height: 4.4rem;
  transition: width 500ms ease, opacity 500ms ease, visibility 500ms ease, margin 500ms ease;
}

.header__toggle-nav-button .icon-close-state {
  display: none;
}

.header *[tabindex='-1']:focus {
  outline: none;
}

.header__heading-link:hover .h2 {
  color: rgb(var(--color-foreground));
}

.header__menu-badge--in-drawer {
  --badge-top-position: 23px;
  inset-inline-start: 5.2rem;
}

.header__account__popover {
  --disclosure-direction: -0.5rem;
  padding: 20px 30px;
  max-width: 90vw;
}

.header__account__popover--start {
  inset-inline-start: -1rem;
}

.header__account__popover--end {
  inset-inline-end: -1rem;
}

.header__account__caption {
  margin-top: 5px;
}

.header__account__actions {
  gap: 10px;
}

@media(min-width: 990px) {
  sticky-header {
    min-height: var(--sticky-header-height-desktop, auto);
  }

  .shopify-section-header-sticky .header--top-left {
    top: -1.1rem;
  }

  .header--top-left .header__inline-menu {
    transition: opacity 500ms ease, visibility 500ms ease, margin-top 500ms ease;
  }

  .shopify-section-header-sticky.toggle-nav .header__toggle-nav-button {
    width: 2.4rem;
    margin-inline-end: 2.5rem;
  }

  .shopify-section-header-sticky.toggle-nav .header__toggle-nav-button:before {
    content: "";
    position: absolute;
    width: 4.4rem;
    height: 4.4rem;
    inset-inline-start: -1rem;
    top: 0;
  }

  .shopify-section-header-sticky.toggle-nav .header__inline-menu {
    margin-top: calc(var(--nav-height) * (-1));
    opacity: 0;
    visibility: hidden;
  }

  .shopify-section-header-sticky.open-nav .header__toggle-nav-button .icon-open-state {
    display: none;
  }

  .shopify-section-header-sticky.open-nav .header__toggle-nav-button .icon-close-state {
    display: block;
  }

  .shopify-section-header-sticky.open-nav .header__inline-menu {
    margin-top: 0;
    opacity: 1;
    visibility: visible;
  }

  .header__menu-badge--in-standard-dropdown {
    --badge-top-position: 15px;
  }

  .header__menu-badge--in-megamenu-level2 {
    --badge-top-position: 7px;
  }

  .header__menu-badge--in-megamenu-level3 {
    --badge-top-position: 15px;
    padding: 0.1rem 0.5rem;
    inset-inline-start: auto;
    inset-inline-end: -6px;
    transform: translate(calc(var(--transform-direction) * (-100%)), -50%);
    top: 50%;
  }

  .header__menu-badge--in-megamenu-level3:after {
    inset-inline-start: -2px;
    border-width: 3px;
    transform: translateY(-50%) rotate(calc(var(--transform-direction) * 45deg));
  }
}

/* Header icons */

.header__icon::after {
  content: none;
}

.header__icon:hover .icon,
.modal__close-button:hover .icon {
  transform: scale(1.07);
}

/* Customer support region */

.header__customer-support-region__list {
  --disclosure-direction: 1rem;
  padding: 2rem;
  row-gap: 2rem;
  min-width: 100%;
}

.header__customer-support-region__name {
  font-size: 2.2rem;
}

.header__customer-support-region__hotline {
  font-size: 1.8rem;
}

.header__customer-support-region__address {
  font-size: 1.1rem;
}

.header__customer-support-region__email {
  font-size: 1.4rem;
  color: rgb(var(--color-highlight));
}

@media(max-width: 989px) {
  .header__customer-support-region__list {
    border-top: 1px solid rgb(var(--color-background));
  }
}

@media(min-width: 990px) {
  .header__customer-support-region__list--in-dropdown {
    max-height: calc(100vh - 30rem);
    overflow-y: auto;
  }
}

/* Header menu drawer */

.header__icon--menu[aria-expanded="true"]::before {
  content: "";
  top: 100%;
  inset-inline-start: 0;
  height: calc(var(--viewport-height, 100vh) - (var(--header-bottom-position, 100%)));
  width: 100%;
  display: block;
  position: absolute;
  background: rgba(var(--color-overlay), 0.5);
}

.cart-drawer__details[open] summary {
  position: inherit;
}

.cart-drawer__details[open] .cart-count-bubble {
  display: none;
}

.js .mega-menu[open] > .header__submenu, .js .mega-menu.open > .header__submenu, .js .mega-menu[open] > .mega-menu__content, .js .header__submenu__last[open] .header__submenu  {
  animation: animateMenuOpen 0.3s;
  transform: translateY(0);
  z-index: 4;
}

@media (prefers-reduced-motion) {
  details[open] > .header__submenu, details.open > .header__submenu {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Header menu */

.header__submenu {
  transition: opacity 300ms ease,
    transform 300ms ease;
  width: max-content;
  max-width: min(45rem, 35vw);
  background-color: rgb(var(--color-background));
  box-shadow: 0px 0px 5px 0px rgb(var(--color-foreground), 0.15);
  margin-inline-start: -0.9rem;
  min-width: 13rem;
}

.global-settings-popup {
  border-radius: var(--popup-corner-radius);
  border-color: rgba(var(--color-foreground), var(--popup-border-opacity));
  border-style: solid;
  border-width: var(--popup-border-width);
  box-shadow: var(--popup-shadow-horizontal-offset) var(--popup-shadow-vertical-offset) var(--popup-shadow-blur-radius) rgba(var(--color-shadow), var(--popup-shadow-opacity));
}

.header__submenu.list-menu {
  padding: 2.4rem 0;
}

.header__submenu--last-level {
  padding: 0.5rem 0;
  margin: 0.5rem 0;
}

.header__menu-item--has-last-sub {
  column-gap: 0.7rem;
}

.header__menu-item--has-last-sub > .icon-caret {
  position: static;
}

.header__submenu .header__menu-item {
  padding: 1rem 2.4rem;
}

.header__submenu .icon-caret {
  inset-inline-end: 2.4rem;
}

.header__menu-item--top-highlight {
  --color-link: var(--color-foreground);
}

@media screen and (min-width: 990px) {
  .header__submenu--has-go-to-link.list-menu, .mega-menu__content--has-go-to-link {
    padding-bottom: 0;
  }

  .header__goto-link {
    border-top: 1px solid rgb(var(--color-foreground), 0.05);
    padding: 1rem 2.4rem;
    grid-column: 1 / end;
  }

  .header__goto-link a {
    font-size: 1.3rem;
    display: inline-flex;
    column-gap: 0.5rem;
  }

  .header__submenu__last[open] > summary .icon-caret {
    transform: rotate(calc(var(--transform-direction) * 90deg));
  }

  .header__submenu.outside-viewport {
    max-height: calc(100vh - var(--top-position, 20rem) - 4rem);
    overflow-y: auto;
  }
}

@media screen and (min-width: 990px) and (hover: hover) {
  .js .header__submenu--has-go-to-link.list-menu, .js .mega-menu__content--has-go-to-link {
    padding-bottom: 2.4rem;
  }
  
  .js header-menu:not([data-ignore-hover]) .header__goto-link {
    display: none;
  }
}

details[open] > summary > .icon-caret {
  transform: rotate(180deg);
}

.global-media-settings--small {
  --border-radius: 15px;
}

.global-media-settings--full-width,
.global-media-settings--full-width img {
  --border-radius: 0;
  border-radius: 0;
  border-inline-start: none;
  border-inline-end: none;
}

.badge {
  background-color: rgb(var(--color-badge-background));
  color: rgb(var(--color-badge-foreground));
}

.badge--sale {
  --color-badge-foreground: var(--color-sale-badge-foreground);
  --color-badge-background: var(--color-sale-badge-background);
}

.badge--sold-out {
  --color-badge-foreground: var(--color-sold-out-badge-foreground);
  --color-badge-background: var(--color-sold-out-badge-background);
  position: absolute;
  top: 50%;
  inset-inline-start: 50%;
  transform: translate(calc(var(--transform-direction) * 50%), -50%) rotate(calc(var(--transform-direction) * 10deg));
  word-break: normal;
}

.badge--custom-1 {
  --color-badge-foreground: var(--color-custom-badge-1-foreground);
  --color-badge-background: var(--color-custom-badge-1-background);
}

.badge--custom-2 {
  --color-badge-foreground: var(--color-custom-badge-2-foreground);
  --color-badge-background: var(--color-custom-badge-2-background);
}

.badge--custom-3 {
  --color-badge-foreground: var(--color-custom-badge-3-foreground);
  --color-badge-background: var(--color-custom-badge-3-background);
}

.badge--custom-4 {
  --color-badge-foreground: var(--color-custom-badge-4-foreground);
  --color-badge-background: var(--color-custom-badge-4-background);
}

.badge--custom-5 {
  --color-badge-foreground: var(--color-custom-badge-5-foreground);
  --color-badge-background: var(--color-custom-badge-5-background);
}

/* Component scroll over image */

.js appear-animate-list .card-wrapper--product {
  transition: border,transform 500ms ease;
}

@media(min-width: 750px) {
  use-animate img {
    transition: opacity 500ms ease 100ms, transform 1800ms cubic-bezier(.03,.93,.97,1) 500ms;
  }
  use-animate.loaded img {
    opacity: 1;
    transform: scale(1.0);
  }
}

/* Section announcement and slider component */

.slider-button {
  cursor: pointer;
  z-index: 2;
  box-shadow: 0 1px 2px rgb(var(--color-foreground), 0.07);
  border-radius: 0.6rem;
}

.slider-button--transparent {
  border: none;
  box-shadow: none;
  border-radius: 0;
}

.slider-button span {
  transition: transform 0.5s ease;
}

.slider-button--next:not([disabled]):hover span:first-child,
.slider-button--prev:not([disabled]):hover span:last-child {
  transform: rotate(calc(var(--transform-direction) * 60deg));
}

.slider-button--next:not([disabled]):hover span:last-child,
.slider-button--prev:not([disabled]):hover span:first-child {
  transform: rotate(calc(var(--transform-direction) * (-60deg)));
}

.slider-button--announcement-bar {
  transition: transform 500ms cubic-bezier(.19,1,.22,1);
}

.slider-button--announcement-bar:hover {
  transform: scale(1.3);
}

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

.slider-button--next .icon {
  transition: transform 100ms ease;
}

.slider-counter {
  background: rgb(var(--color-background));
  box-shadow: 0 0.1rem 0.2rem 0rem rgb(var(--color-foreground), 0.05);
}

.slider-counter__inner {
  gap: 0.8rem;
}

.slider-counter__link--dots .dot,
.slider-counter__link--numbers {
  transition: background-color 0.2s ease-in-out;
}

/* Links */

@keyframes link-hover {
  0% {
    inset-inline-start: 0;
  }
  100% {
    inset-inline-start: 100%;
  }
}

.link--text:hover {
  color: rgba(var(--color-foreground), 0.75);
}

.underlined-link:hover:after {
  content: "";
  position: absolute;
  bottom: -0.1rem;
  width: 10%;
  border-bottom: 1px solid rgb(var(--color-background));
  animation: link-hover .3s linear forwards;
}

/* The underline only showns when hover */

.link-effect-no-underline {
  position: relative;
}

.link-effect-no-underline:before {
  content: "";
  inset-inline-start: 0;
  position: absolute;
  bottom: -0.1rem;
  border-bottom: 1px solid currentColor;
  width: 0;
  transition: width .3s ease-in-out;
}

.link-effect-no-underline:hover:before {
  width: 100%;
}
/* outline and border styling for Windows High Contrast Mode */
@media (forced-colors: active) {
  .button,
  .shopify-challenge__button,
  .customer button {
    border: transparent solid 1px;
  }
  .button:focus-visible,
  .button:focus,
  .button.focused,
  .shopify-payment-button__button--unbranded:focus-visible,
  .shopify-payment-button [role="button"]:focus-visible,
  .shopify-payment-button__button--unbranded:focus,
  .shopify-payment-button [role="button"]:focus {
    outline: solid transparent 1px;
  }
  .field__input:focus,
  .select__select:focus,
  .customer .field input:focus,
  .customer select:focus,
  .localization-form__select:focus.localization-form__select:after,
  .spr-form-input:focus {
    outline: transparent solid 1px;
  }
  .localization-form__select:focus {
    outline: transparent solid 1px;
  }
}

.open-drawer-fixed {
  overflow: hidden;
}

/* Component toast message manager */

toast-message-manager {
  position: fixed;
  inset-inline: 1.5rem;
  bottom: 3rem;
  display: flex;
  flex-direction: column-reverse;
  row-gap: 1rem;
  overflow: hidden;
  z-index: 1001;
}

@media(min-width: 750px) {
  toast-message-manager {
    inset-inline-start: 50vw;
    inset-inline-end: auto;
    transform: translateX(calc(var(--transform-direction) * 50%));
  }
}

toast-message {
  transform: translateX(calc((100% + 1rem) * var(--transform-direction)));
  transition: transform 300ms ease;
  margin: 0.5rem;
  box-shadow: 0px 0px 3px 0px rgb(var(--color-overlay), 0.5);
  border-radius: 5px;
}

toast-message.open {
  transform: translateX(0);
}

.alert {
  --color-link: var(--color-foreground);
  color: rgb(var(--color-foreground));
  background: rgb(var(--color-background-message));
  padding-block: 1.6rem;
  padding-inline-end: 5rem;;
  padding-inline-start: 3rem;
  position: relative;
  font-size: 1.6rem;
  font-weight: var(--font-body-weight-medium);
  border-radius: 5px;
}

.alert--no-button {
  padding-inline-end: 3rem;
}

.alert--small {
  padding-block: 1rem;
  padding-inline-end: 1rem;
  padding-inline-start: 1.5rem;
  font-size: 1.4rem;
}

.alert--success {
  --color-foreground: var(--color-text-message-success);
  --color-background-message: var(--color-background-message-success);
}

.alert--warning {
  --color-foreground: var(--color-text-message-warning);
  --color-background-message: var(--color-background-message-warning);
}

.alert--error {
  --color-foreground: var(--color-text-message-error);
  --color-background-message: var(--color-background-message-error);
}

.alert:before {
  content: '';
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  bottom: 0;
  width: 0.5rem;
  border-start-start-radius: 5px;
  border-end-start-radius: 5px;
  background: rgb(var(--color-foreground));
}

.toast__button {
  width: 3rem;
  height: 3rem;
  background-color: transparent;
  border: 0;
  padding: 0.5rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: calc(50% - 1.5rem);
  inset-inline-end: 1.5rem;
  border-radius: 50%;
  transition: background-color 300ms ease;
  cursor: pointer;
}

.toast__button:hover {
  background-color: rgb(var(--color-foreground), .1);
}

/* Component floating bar */

.floating-element {
  z-index: 2;
  transition: bottom 300ms cubic-bezier(.03,.93,.97,1), opacity 300ms ease, visibility 300ms ease;
}

.floating-element:not(.always-visible) {
  visibility: hidden;
}

.floating-button {
  z-index: 1;
  box-shadow: 0px 0px 3px 0px rgb(var(--color-overlay), 0.1);
}

.floating-button:after {
  content: "";
  position: absolute;
  width: 4.4rem;
  height: 4.4rem;
}

back-to-top.floating-element.open, back-to-top.open ~ .compare-button-floating {
  opacity: 1;
  visibility: visible;
}

back-to-top:not(.open) button, back-to-top:not(.open) ~ .compare-button-floating button {
  pointer-events: none;
}

back-to-top .icon {
  transform: rotate(180deg);
}

@media (max-width: 749px) {
  .floating-element--back-to-top-has-compare {
    bottom: calc(var(--floating-element-position) + 5rem);
  }
}

/* Component card */

.quick-button--view {
  z-index: 2;
}

.compare-add-button {
  cursor: pointer;
}

.compare-added-check {
  top: -0.5rem;
  width: 1.5rem;
  height: 1.5rem;
  background: rgb(var(--color-foreground), 0.7);
  color: rgb(var(--color-background));
  border-radius: 50%;
  z-index: 1;
}

.compare-added-check:not(.compare-added-check--left) {
  inset-inline-end: -0.5rem;
}

.compare-added-check--left {
  inset-inline-start: -0.5rem;
}

.compare-added-check .icon {
  width: 1rem;
  height: 0.8rem;
}

.compare-add-button--in-grid:before {
  inset-inline-start: -1.3rem;
  top: -1.3rem;
}

.quick-view__submit .icon-eye {
  transition: opacity 300ms ease;
}

.quick-view__submit:not(.loading):hover .icon-eye {
  opacity: 1;
}

.compare-add-button:hover {
  color: rgb(var(--color-foreground));
}

.quick-view__submit:hover {
  background: rgb(var(--color-background));
}

.quick-view__submit {
  transition: background 300ms ease;
}

@media(hover: hover) {
  .quick-button--view {
    transition: opacity 300ms ease,
      visibility 300ms ease;
    opacity: 0;
  }

  .card-wrapper:hover .quick-button--view {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

.card__heading a:focus:after, .full-link:focus:after {
  box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
}

.card__heading a:focus-visible:after, .full-link:focus-visible:after {
  box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
}

.card__heading a:focus:not(:focus-visible):after, .full-link:focus:not(:focus-visible):after {
  box-shadow: none;
  outline: 0;
}

.card__heading a:focus, .full-link:focus {
  box-shadow: none;
  outline: 0;
}

@media screen and (min-width: 990px) {
  .card .media.media--hover-effect > img:only-child,
  .card-wrapper .media.media--hover-effect > img:only-child {
    transition: transform 500ms ease;
  }

  .card:hover .media.media--hover-effect > img:first-child:only-child,
  .card-wrapper:hover .media.media--hover-effect > img:first-child:only-child {
    transform: scale(1.03);
  }

  .card-wrapper:hover .card:not(.ignore-second-image)
    .media.media--hover-effect
    > img:first-child:not(:only-child) {
    opacity: 0;
  }

  .card-wrapper:hover .card:not(.ignore-second-image) .media.media--hover-effect > img + img {
    opacity: 1;
    transition: transform 500ms ease;
    transform: scale(1.03);
  }
}

@media(hover: hover) and (min-width: 990px) {
  .card-wrapper--product {
    transition: transform 500ms ease;
  }

  .card-wrapper--product:hover {
    --product-card-border-opacity: 0;
    z-index: 3;
    transform: translateY(-1.3rem);
  }

  .card-wrapper--product:after {
    content: "";
    position: absolute;
    top: var(--product-card-shadow-position);
    inset-inline: var(--product-card-shadow-position);
    bottom: var(--product-card-shadow-position);
    border-radius: 1.2rem;
    background: rgb(var(--color-background));
    z-index: -1;
    opacity: 0;
    visibility: hidden;
    transition: opacity 500ms ease, visibility 500ms ease, box-shadow 500ms ease, top 500ms ease, height 500ms ease;
  }

  .card-wrapper--product:hover:after {
    top: -1.5rem;
    opacity: 1;
    visibility: visible;
    height: calc(100% + var(--product-card-shadow-distance) - var(--product-card-shadow-position));
    box-shadow: 0 7px 25px 3px rgb(0, 0, 0, var(--product-card-shadow-opacity));
  }

  .grid.contains-card--product.slider--desktop {
    padding-top: 5rem;
    padding-bottom: calc(9rem - var(--product-card-shadow-position));
    margin-top: -5rem;
    margin-bottom: calc(-9rem + var(--product-card-shadow-position));
  }

  .slider-component-desktop:not(.slider-component-full-width) .grid.contains-card--product.slider--desktop {
    --padding: -5rem;
    margin-inline-start: var(--padding);
    padding-inline-start: calc((-1) * var(--padding));
    scroll-padding-inline-start: calc((-1) * var(--padding));
    margin-inline-end: var(--padding);
    padding-inline-end: calc((-1) * var(--padding));
  }

  .section__box .slider-component-desktop:not(.slider-component-full-width) .grid.contains-card--product.slider--desktop {
    --padding: -3.8rem;
  }
}

.contains-card--collection {
  --outline-focus-offset: 0.3rem;
}

/* Component modal */

.modal__close-button.link {
  padding: 0rem;
  height: 4rem;
  width: 4rem;
  background-color: rgb(var(--color-background));
  border-radius: 50%;
  box-shadow: 0.1rem 0.1rem 0.6rem 0 rgb(var(--color-overlay), 0.2);
}

.modal__close-button .icon {
  width: 1.7rem;
  height: 1.7rem;
}

.modal__content {
  position: absolute;
  top: 0;
  inset-inline: 0;
  bottom: 0;
  background: rgb(var(--color-background));
  z-index: 4;
}

.media-modal {
  cursor: zoom-out;
}

.media-modal .deferred-media {
  cursor: initial;
}

/* Quick view and quick add button */

.card__quick-buttons {
  z-index: 2;
}

/* Component skeleton box */

@keyframes shimmer {
  100% {
    transform: translateX(calc(var(--transform-direction) * (-100%)));
  }
}

.skeleton-box {
  overflow: hidden;
  position: relative;
  background-color: rgba(var(--color-foreground), 0.05);
}

.skeleton-box:after {
  position: absolute;
  inset-block: 0;
  inset-inline: 0;
  transform: translateX(calc(var(--transform-direction) * 100%));
  background-image: linear-gradient(
    90deg,
    rgb(var(--color-background), 0) 0,
    rgb(var(--color-background), 0.2) 20%,
    rgb(var(--color-background), 0.5) 60%,
    rgb(var(--color-background), 0)
  );
  animation: shimmer 1s infinite;
  content: '';
  z-index: 0;
}

/* Accordion icons */

.summary-accordion__icon-line {
  background: rgb(var(--color-foreground));
  transition: transform 500ms ease, background 500ms ease;
}

.summary-accordion__icon-line:first-child {
  transform-origin: center center;
}

.summary-accordion__plus-minus-wrapper {
  transition: background 500ms ease;
  background-color: rgb(var(--color-background));
  box-shadow: 0rem 0.1rem 0.2rem rgba(var(--color-foreground), 0.05);
}

.summary-accordion--has-hover:hover .summary-accordion__plus-minus-wrapper {
  background: rgb(var(--color-foreground));
}

.summary-accordion--has-hover:hover .summary-accordion__icon-line {
  background: rgb(var(--color-background));
}

/* Background overlay */

.background-overlay:before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: 0;
  bottom: 0;
  background: linear-gradient(0deg, rgb(var(--color-overlay), var(--overlay-opacity, 0.5)) 0%, rgb(var(--color-overlay), var(--overlay-opacity, 0.5)) 100%);
}

/* Tap area */

.tap-area-icon:before {
  content: "";
	position: absolute;
	width: 44px;
	height: 44px;
}

.tap-area-icon:focus-visible {
  outline: none;
}

.tap-area-icon:focus-visible:before {
  outline: 0.2rem solid rgba(var(--color-foreground),.5);
}

/* Shipping calculator */

.shipping-calculator__date {
  margin-inline-start: 0.5rem;
}

/* Total discount */

.price--total-discount {
  color: rgb(var(--color-compare-at-price));
}

/* Discount code block */

.discount-code__code {
  box-shadow: 1px 1px 1px 0px rgba(var(--color-foreground), 0.10) inset;
}

/* Truncate text */

.button--truncate-text {
  --color-button-text: var(--color-foreground);
  background: transparent;
  border-radius: 0px 0px 8px 8px;
  box-shadow: none;
  z-index: 1;
}

.button--truncate-text > * {
  transition: opacity 500ms ease;
}

.button--truncate-text:hover > * {
  opacity: 1;
}

/* Calculator nav links — blue accent (header only) */
.header__menu-labels a[href$="/fulfillment-calculator"] .text-small,
.header__menu-labels a[href$="\fulfillment-calculator"] .text-small,
.header__menu-labels a[href$="/dhl-calculator"] .text-small,
.header__menu-labels a[href$="\dhl-calculator"] .text-small,
.menu-drawer__menu-labels a[href$="/fulfillment-calculator"] .text-small,
.menu-drawer__menu-labels a[href$="\fulfillment-calculator"] .text-small,
.menu-drawer__menu-labels a[href$="/dhl-calculator"] .text-small,
.menu-drawer__menu-labels a[href$="\dhl-calculator"] .text-small {
  color: #3260A0;
  font-weight: 600;
}

.header__menu-labels a[href$="/fulfillment-calculator"] .icon,
.header__menu-labels a[href$="\fulfillment-calculator"] .icon,
.header__menu-labels a[href$="/dhl-calculator"] .icon,
.header__menu-labels a[href$="\dhl-calculator"] .icon,
.menu-drawer__menu-labels a[href$="/fulfillment-calculator"] .icon,
.menu-drawer__menu-labels a[href$="\fulfillment-calculator"] .icon,
.menu-drawer__menu-labels a[href$="/dhl-calculator"] .icon,
.menu-drawer__menu-labels a[href$="\dhl-calculator"] .icon {
  color: #3260A0;
}

.header__menu-labels a[href$="/fulfillment-calculator"],
.header__menu-labels a[href$="\fulfillment-calculator"],
.header__menu-labels a[href$="/dhl-calculator"],
.header__menu-labels a[href$="\dhl-calculator"],
.menu-drawer__menu-labels a[href$="/fulfillment-calculator"],
.menu-drawer__menu-labels a[href$="\fulfillment-calculator"],
.menu-drawer__menu-labels a[href$="/dhl-calculator"],
.menu-drawer__menu-labels a[href$="\dhl-calculator"] {
  background: rgba(50, 96, 160, 0.07);
  border-radius: 2rem;
  padding-inline: 0.8rem;
  padding-block: 0.3rem;
  transition: background 200ms ease;
}

.header__menu-labels a[href$="/fulfillment-calculator"]:hover,
.header__menu-labels a[href$="\fulfillment-calculator"]:hover,
.header__menu-labels a[href$="/dhl-calculator"]:hover,
.header__menu-labels a[href$="\dhl-calculator"]:hover,
.menu-drawer__menu-labels a[href$="/fulfillment-calculator"]:hover,
.menu-drawer__menu-labels a[href$="\fulfillment-calculator"]:hover,
.menu-drawer__menu-labels a[href$="/dhl-calculator"]:hover,
.menu-drawer__menu-labels a[href$="\dhl-calculator"]:hover {
  background: rgba(50, 96, 160, 0.14);
}

/* cta-brand.css */
/* Brand CTA — gradient variant (shared across pages). Homepage keeps its own
   inline copy with custom margins; this flush version is used on all other pages. */
.cta-brand--gradient { background: linear-gradient(135deg, #3161A0 0%, #244a7d 55%, #16304f 100%); padding: 8rem 2rem; margin: 10rem 0; position: relative; overflow: hidden; }
.cta-brand--gradient .cta-brand__ring { position: absolute; right: -15rem; top: 50%; transform: translateY(-50%); width: 70rem; height: 70rem; border-radius: 50%; border: 1px solid rgba(255,255,255,0.08); box-shadow: 0 0 0 40px rgba(255,255,255,0.045), 0 0 0 80px rgba(255,255,255,0.03), 0 0 0 130px rgba(255,255,255,0.015); pointer-events: none; }
.cta-brand--gradient .cta-brand__glow { position: absolute; top: 50%; left: 38%; transform: translate(-50%,-50%); width: 60rem; height: 30rem; background: radial-gradient(ellipse, rgba(139,171,217,0.25) 0%, transparent 70%); pointer-events: none; }
.cta-brand--gradient .cta-brand__inner { max-width: 72rem; margin: 0 auto; text-align: center; position: relative; z-index: 1; }
.cta-brand--gradient .cta-brand__eyebrow { font-size: 1.2rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: #bcd0ec; margin-bottom: 2rem; }
.cta-brand--gradient .cta-brand__heading { font-size: clamp(3rem, 5vw, 5rem); font-weight: 800; color: #fff; line-height: 1.15; margin: 0 0 1.8rem; letter-spacing: -0.025em; }
.cta-brand--gradient .cta-brand__text { font-size: 1.8rem; color: rgba(255,255,255,0.7); line-height: 1.75; margin: 0 auto 3.6rem; max-width: 56rem; }
.cta-brand--gradient .cta-brand__btn { display: inline-flex; align-items: center; gap: 1rem; padding: 1.7rem 4.4rem; background: #fff; color: #14304f; font-size: 1.7rem; font-weight: 700; border-radius: 10px; text-decoration: none; position: relative; overflow: hidden; transition: transform 0.22s ease, box-shadow 0.22s ease; animation: cta-btn-pulse 3s ease-in-out infinite; }
.cta-brand--gradient .cta-brand__btn::before { content: ''; position: absolute; top: 0; left: -160%; width: 55%; height: 100%; background: linear-gradient(115deg, transparent 0%, rgba(49,97,160,0.22) 50%, transparent 100%); transform: skewX(-22deg); animation: cta-btn-shimmer 4.5s ease-in-out infinite; pointer-events: none; }
.cta-brand--gradient .cta-brand__btn:hover { transform: translateY(-4px); box-shadow: 0 20px 48px rgba(0,0,0,0.3); color: #14304f; animation-play-state: paused; }
.cta-brand--gradient .cta-brand__btn svg { transition: transform 0.2s ease; }
.cta-brand--gradient .cta-brand__btn:hover svg { transform: translateX(4px); }
@keyframes cta-btn-shimmer { 0% { left: -160%; } 22%, 100% { left: 160%; } }
@keyframes cta-btn-pulse { 0%, 100% { box-shadow: 0 6px 18px rgba(0,0,0,0.18), 0 0 0 0 rgba(255,255,255,0.35); } 50% { box-shadow: 0 8px 24px rgba(0,0,0,0.22), 0 0 0 8px rgba(255,255,255,0); } }
.cta-brand--gradient .cta-brand__stats { display: flex; justify-content: center; gap: 4rem; margin-top: 5rem; padding-top: 3.6rem; border-top: 1px solid rgba(255,255,255,0.16); flex-wrap: wrap; }
.cta-brand--gradient .cta-brand__stat { text-align: center; }
.cta-brand--gradient .cta-brand__stat-num { font-size: 3rem; font-weight: 800; color: #fff; line-height: 1; }
.cta-brand--gradient .cta-brand__stat:first-child .cta-brand__stat-num { display: inline-block; animation: cta-num-hop 3.2s ease-in-out infinite; }
@keyframes cta-num-hop { 0%, 18%, 100% { transform: translateY(0); } 7% { transform: translateY(-4px); } 12% { transform: translateY(-1px); } }
.cta-brand--gradient .cta-brand__stat-label { font-size: 1.25rem; color: rgba(255,255,255,0.55); margin-top: 0.4rem; font-weight: 500; }
@media (max-width: 749px) { .cta-brand--gradient { padding: 6rem 2rem; margin: 7.5rem 0; } .cta-brand--gradient .cta-brand__stats { gap: 2.4rem; } .cta-brand--gradient .cta-brand__ring { display: none; } }
@media (prefers-reduced-motion: reduce) { .cta-brand--gradient .cta-brand__btn, .cta-brand--gradient .cta-brand__btn svg, .cta-brand--gradient .cta-brand__stat:first-child .cta-brand__stat-num { transition: none !important; animation: none !important; } .cta-brand--gradient .cta-brand__btn::before { display: none; } .cta-brand--gradient .cta-brand__btn:hover { transform: none; } }

/* process-pin.css */
/* Homepage "Wie es funktioniert" — inset/pressed well + scroll-linked horizontal card movement.
   The PAGE scrolls normally. The card track is moved via its NATIVE horizontal scroll (scrollLeft)
   in JS, so the slider layout is untouched. Scoped to .tb-hpin (homepage only). */

/* The section is just a transparent wrapper. flow-root contains the inner block's margins so they
   don't collapse into / merge with neighbouring sections — the gap becomes deterministic. */
.tb-hpin {
  display: flow-root;
}
/* The ACTUAL block = .isolate (heading rich-text + cards container as ONE unit). All visual
   treatment and the top/bottom spacing live here. */
.tb-hpin > .isolate {
  background: #f1f1ef;
  box-shadow: inset 0 12px 28px rgba(0, 0, 0, 0.10), inset 0 -12px 28px rgba(0, 0, 0, 0.06);
  margin: 8rem 0;
}
/* heading stays put — only the cards row scrolls */
.tb-hpin .rich-text {
  background: transparent !important;
  transform: none !important;
}
/* the only gap is the 8rem margin on both sides — neutralize the facing section padding of the
   immediate neighbour above (padding-bottom) and below (padding-top) so nothing adds unevenly */
:where(section, div):has(+ .tb-hpin) [class*="-padding"]:not(.has-padding) {
  padding-bottom: 0 !important;
}
.tb-hpin + :where(section, div) [class*="-padding"]:not(.has-padding) {
  padding-top: 0 !important;
}
/* if a CTA block follows directly: drop the block's bottom gap AND the CTA's top gap -> flush */
.tb-hpin:has(+ .cta-brand) > .isolate {
  margin-bottom: 0 !important;
}
.tb-hpin + .cta-brand {
  margin-top: 0 !important;
}
/* remove the left/right edge fade on this block (overrides base + tablet/desktop masks) */
.tb-hpin .process-cards__slider,
.tb-hpin .process-cards__slider.slider--tablet.grid--peek {
  -webkit-mask-image: none !important;
  mask-image: none !important;
  -webkit-mask: none !important;
  mask: none !important;
}
/* full-width track so cards don't hard-cut inside the narrow 120rem column (this was the fix
   for the clipping — card width itself is left untouched at its original size) */
.tb-hpin .process-cards__container {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* start the first card at the content column's left edge (no big centered gap) */
@media (min-width: 990px) {
  .tb-hpin .process-cards__slider .grid__item:first-child {
    margin-left: max(2rem, calc(50vw - 60rem)) !important;
  }
}
/* hide slider nav buttons on this block at every width
   (mobile/tablet swipe the native slider, desktop uses JS scroll) */
.tb-hpin .slider-buttons {
  display: none !important;
}
/* on hover the card lifts (translateY -4px); keep the timeline dot fixed by countering the lift */
.tb-hpin .process-cards__dot {
  transition: transform 0.3s ease;
}
.tb-hpin .process-cards__item:hover .process-cards__dot {
  transform: translate(-50%, -50%) translateY(4px) !important;
}

@media (min-width: 990px) {
  /* desktop JS-scroll layout: extra room below the dashed line, line raised to match dots */
  .tb-hpin .process-cards__slider {
    padding-bottom: 15rem !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    scroll-behavior: auto !important;
    transform: translateX(var(--tb-hx, 0px));
    will-change: transform;
  }
  .tb-hpin .process-cards__slider::before {
    bottom: 6rem !important;
  }
  /* clip the flying cards at the block edges (no page scrollbar) */
  .tb-hpin .process-cards__container {
    overflow: hidden;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tb-hpin .process-cards__slider {
    transform: none !important;
  }
}
