:root {
  --title0-font-size: calc(var(--sort-title-size) * 1.3125);
  --title1-font-size: calc(var(--sort-title-size) * 1.125);
  --title2-font-size: calc(var(--sort-title-size) * 1);
  --title3-font-size: calc(var(--sort-title-size) * 0.875);
  --title4-font-size: calc(var(--sort-title-size) * 0.75);
  --title5-font-size: calc(var(--sort-title-size) * 0.625);
  --title6-font-size: calc(var(--sort-title-size) * 0.625);
  --title7-font-size: calc(var(--sort-body-size) * 1);
  --body1-font-size: calc(var(--sort-body-size) * 1.1429);
  --body2-font-size: calc(var(--sort-body-size) * 1.0714);
  --body3-font-size: calc(var(--sort-body-size) * 1);
  --body4-font-size: calc(var(--sort-body-size) * 0.8888);
  --body5-font-size: calc(var(--sort-body-size) * 0.7777);
  --body6-font-size: calc(var(--sort-body-size) * 0.6666);
  --body7-font-size: calc(var(--sort-body-size) * 0.6111);
  --subtitle1-font-size: calc(var(--sort-body-size) * 1.1429);
  --subtitle2-font-size: calc(var(--sort-body-size) * 1);
  --subtitle3-font-size: calc(var(--sort-body-size) * 0.8888);
  --subtitle4-font-size: calc(var(--sort-body-size) * 0.7777);
  --subtitle5-font-size: calc(var(--sort-body-size) * 0.6666);

  --page-padding: 20px;
  --page-gutter: max(var(--page-padding), calc((100vw - var(--page-width)) / 2));

  --z-index-hover: 1;
  --z-index-active: 2;
  --z-index-focus: 3;
  --z-index-dropdown: 1000;
  --z-index-sticky: 1010;
  --z-index-fixed: 1020;
  --z-index-modal: 1030;
  --z-index-popover: 1040;
  --z-index-tooltip: 1050;
  --z-index-toast: 1060;

  --color-background: var(--color-base-background);
  --color-text: var(--color-base-text);
  --color-border: var(--color-text)/ 0.1;
  --color-button-gradient: var(--color-base-button-gradient);
  --color-button-background: var(--color-base-button-background);
  --color-button-text: var(--color-base-button-text);
  --color-button-border: var(--color-base-button-background);

  --transform-logical: 1;
  --transform-origin-start: left;
  --transform-origin-end: right;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
}

@media (min-width: 960px) {
  :root {
    --title0-font-size: calc(var(--sort-title-size) * 2.25);
    --title1-font-size: calc(var(--sort-title-size) * 1.875);
    --title2-font-size: calc(var(--sort-title-size) * 1.5);
    --title3-font-size: calc(var(--sort-title-size) * 1.3125);
    --title4-font-size: calc(var(--sort-title-size) * 1);
    --title5-font-size: calc(var(--sort-title-size) * 0.875);
    --title6-font-size: calc(var(--sort-title-size) * 0.75);
    --title7-font-size: calc(var(--sort-body-size) * 1);
    --body1-font-size: calc(var(--sort-body-size) * 1.3333);
    --body2-font-size: calc(var(--sort-body-size) * 1.2222);
    --body3-font-size: calc(var(--sort-body-size) * 1.1111);
    --body4-font-size: calc(var(--sort-body-size) * 1);
    --body5-font-size: calc(var(--sort-body-size) * 0.8888);
    --body6-font-size: calc(var(--sort-body-size) * 0.7777);
    --body7-font-size: calc(var(--sort-body-size) * 0.6666);

    --page-padding: max(30px, 50vw - var(--page-width) / 2);
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

@media (max-width: 959px) {
  * {
    -webkit-tap-highlight-color: transparent;
  }
}

html {
  scrollbar-gutter: stable;
  touch-action: manipulation;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: normal;
}

body {
  width: 100%;
  margin: 0;
  font-family: var(--sort-body-font);
  font-size: var(--body4-font-size);
  font-style: var(--sort-body-style);
  font-weight: var(--sort-body-weight);
  line-height: var(--sort-body-line-height);
  letter-spacing: var(--sort-body-letter-spacing);
}

body,
html {
  color: rgb(var(--color-text));
  background-color: rgb(var(--color-background));
}

ol,
ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

dl {
  margin-block: 0;
}

dd {
  margin-inline-start: 0;
}

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

a {
  color: inherit;
  text-decoration: inherit;
}

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

p:first-child {
  margin-block-start: 0;
}

p:last-child {
  margin-block-end: 0;
}

img,
video {
  height: auto;
  max-width: 100%;
  vertical-align: middle;
}

blockquote,
dd,
dl,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
pre {
  margin: 0;
}

button {
  color: inherit;
}

button:disabled {
  opacity: 0.3;
  cursor: default;
}

summary {
  position: relative;
  display: inline-block;
  list-style: none;
  cursor: pointer;
  user-select: none;
}

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

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

.rte p {
  margin-block-end: 1.875rem;
}

.rte blockquote {
  margin-inline-start: 50px;
  padding-inline-start: 40px;
  padding-block: 35px;
  position: relative;
  font-family: Times New Roman;
  font-size: 1.25rem;
  font-style: italic;
}

.rte blockquote::before {
  content: open-quote;
  display: inline-block;
  font-style: normal;
  position: absolute;
  inset-block-start: -30px;
  inset-inline-start: 0;
  font-size: 160px;
  line-height: 1;
  opacity: 0.1;
}

.rte :is(h1, h2, h3, h4, h5, h6) {
  margin-block-end: 1.5rem;
}

.rte blockquote p {
  margin-block-end: 0;
}

.rte blockquote cite {
  display: block;
}

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

.link,
.link-text,
.rte a:not(.button) {
  --underline-thickness: 1px;

  position: relative;
  color: rgb(var(--color-text));
  font-family: var(--sort-body-font);
  font-size: var(--body4-font-size);
  font-style: var(--sort-body-style);
  font-weight: var(--sort-body-weight);
  line-height: var(--sort-body-line-height);
  letter-spacing: var(--sort-body-letter-spacing);
  text-decoration: none;
  cursor: pointer;
  padding: 0;
  border: none;
  background-color: transparent;
  background-image: linear-gradient(to top, rgb(var(--color-text)) 0px), linear-gradient(to top, rgb(var(--color-border)) 0px);
  background-position-x: var(--transform-origin-end);
  background-position-y: bottom;
  background-repeat: no-repeat, no-repeat;
  background-size: 0 var(--underline-thickness), 100% var(--underline-thickness);
}

.link:disabled,
.link-with-icon:disabled .link-text {
  cursor: default;
}

.link:is(.titl1, .title2, .title3, .title4, .title5, .title6, .title7),
.link-text:is(.titl1, .title2, .title3, .title4, .title5, .title6, .title7) {
  --underline-thickness: 2px;
}

.link-with-icon {
  vertical-align: middle;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

button.link-with-icon {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
}

.link--reversed {
  --color-border: var(--color-text)/ 0;
}

@media (pointer: fine) {

  .link,
  .link-text,
  .rte a:not(.button) {
    transition: background-size 0.3s ease;
  }

  .link:hover,
  .link-with-icon:hover .link-text,
  .rte a:not(.button):hover {
    background-position-x: var(--transform-origin-start);
    background-size: 100% var(--underline-thickness), 100% var(--underline-thickness);
  }

  .link.active,
  .link-with-icon.active .link-text,
  .rte a:not(.button).active {
    background-position-x: var(--transform-origin-start);
    background-size: 100% var(--underline-thickness), 100% var(--underline-thickness);
  }

  .link:disabled,
  .link-with-icon:disabled .link-text,
  .rte a:not(.button):hover {
    background-position-x: var(--transform-origin-end);
    background-size: 0 var(--underline-thickness), 100% var(--underline-thickness);
  }
}

h1,
h2,
h3,
h4,
h5,
h6,
.title0,
.title1,
.title2,
.title3,
.title4,
.title5,
.title6,
.title7,
.subtitle1,
.subtitle2,
.subtitle3,
.subtitle4,
.subtitle5,
.title-font {
  font-family: var(--sort-title-font);
  font-style: var(--sort-title-font-style);
  font-weight: var(--sort-title-font-weight, 700);
  line-height: var(--sort-title-line-height);
  letter-spacing: var(--sort-title-letter-spacing);
  text-transform: var(--sort-title-text-transform);
  overflow-wrap: break-word;
}

.title0 {
  font-size: var(--title0-font-size);
}

h1,
.title1 {
  font-size: var(--title1-font-size);
}

h2,
.title2 {
  font-size: var(--title2-font-size);
}

h3,
.title3 {
  font-size: var(--title3-font-size);
}

h4,
.title4 {
  font-size: var(--title4-font-size);
}

h5,
.title5 {
  font-size: var(--title5-font-size);
}

h6,
.title6 {
  font-size: var(--title6-font-size);
}

.title7 {
  font-size: var(--title7-font-size);
}

.title0,
.title1,
.title2 {
  line-height: 1.125;
}

.body1,
.body2,
.body3,
.body4,
.body5,
.body6,
.body-font {
  font-family: var(--sort-body-font);
  font-weight: var(--sort-body-weight, 400);
  line-height: var(--sort-body-line-height);
  letter-spacing: var(--sort-body-letter-spacing);
  text-transform: none;
  overflow-wrap: break-word;
}

.body1 {
  font-size: var(--body1-font-size);
}

.body2 {
  font-size: var(--body2-font-size);
}

.body3 {
  font-size: var(--body3-font-size);
}

.body4 {
  font-size: var(--body4-font-size);
}

.body5 {
  font-size: var(--body5-font-size);
}

.body6 {
  font-size: var(--body6-font-size);
}

.body7 {
  font-size: var(--body7-font-size);
  letter-spacing: 0.15em;
}

.subtitle1,
.subtitle2,
.subtitle3,
.subtitle4,
.subtitle5 {
  letter-spacing: 0.025em;
}

.subtitle1 {
  font-size: var(--subtitle1-font-size);
}

.subtitle2 {
  font-size: var(--subtitle2-font-size);
}

.subtitle3 {
  font-size: var(--subtitle3-font-size);
}

.subtitle4 {
  font-size: var(--subtitle4-font-size);
}

.subtitle5 {
  font-size: var(--subtitle5-font-size);
}

.product-font {
  font-family: var(--sort-product-font);
  font-weight: var(--sort-product-font-weight, 400);
  letter-spacing: var(--sort-product-letter-spacing);
  text-transform: var(--sort-product-text-transform);
}

.product-title {
  font-size: var(--sort-product-size);
}

.navigation-font {
  font-family: var(--sort-navigation-font);
  font-size: var(--sort-navigation-size);
  font-weight: var(--sort-navigation-font-weight);
  text-transform: var(--sort-navigation-text-transform);
}

.text-opacity {
  color: rgb(var(--color-text)/ 0.6);
}

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

.line-clamp-1 {
  line-clamp: 1;
  -webkit-line-clamp: 1;
}

.line-clamp-2 {
  line-clamp: 2;
  -webkit-line-clamp: 2;
}

.line-clamp-3 {
  line-clamp: 3;
  -webkit-line-clamp: 3;
}

.line-clamp-4 {
  line-clamp: 4;
  -webkit-line-clamp: 4;
}

.icon {
  stroke-width: var(--icon-weight);
  width: 18px;
  height: 18px;
  vertical-align: middle;
}

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

.icon-sm {
  width: 16px;
  height: 16px;
}

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

.icon-xl {
  width: 24px;
  height: 24px;
}

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

.icon-spinner {
  display: block;
  border-radius: 50%;
  border: 1px solid transparent;
  border-block-start-color: currentColor;
}

.stroke-1 {
  stroke-width: 1;
}

.stroke-2 {
  stroke-width: 2;
}

.icon-spinner {
  stroke-width: 2;
}

.sr-only {
  clip: rect(0, 0, 0, 0);
  border-width: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
}

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

.placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgb(var(--color-base-text)/ 0.045);
  color: rgb(var(--color-base-text)/ 0.3);
}

.placeholder :is(circle, path, rect) {
  fill: currentColor;
}

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

.leading-none {
  line-height: 1;
}

.leading-tight {
  line-height: 1.125;
}

.whitespace-nowrap {
  white-space: nowrap;
}

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

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

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

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

.visible {
  visibility: visible;
}

.static {
  position: static;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.sticky {
  position: sticky;
}

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

.cursor-default {
  cursor: default;
}

.cursor-pointer {
  cursor: pointer;
}

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

.block {
  display: block;
}

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

.inline {
  display: inline;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.grid {
  display: grid;
}

.contents {
  display: contents;
}

.align-middle {
  vertical-align: middle;
}

.hidden,
[hidden] {
  display: none;
}

.hidden-empty:empty {
  display: none;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-visible {
  overflow: visible;
}

.uppercase {
  text-transform: uppercase;
}

.capitalize {
  text-transform: capitalize;
}

.normal-case {
  text-transform: none;
}

.text-left {
  text-align: start;
}

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

.text-right {
  text-align: end;
}

.text-inherit {
  text-align: inherit;
}

.font-bold {
  font-weight: 700;
}

.font-medium {
  font-weight: 600;
}

.font-normal {
  font-weight: 400;
}

.font-bolder {
  font-weight: calc(var(--sort-body-weight) + 100);
}

.italic {
  font-style: italic;
}

.not-italic {
  font-style: normal;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.h-auto {
  height: auto;
}

.h-full {
  height: 100%;
}

.h-screen {
  height: 100vh;
  height: 100svh;
}

.h-fit {
  height: fit-content;
}

.w-auto {
  width: auto;
}

.w-full {
  width: 100%;
}

.w-screen {
  width: min(100vw, 100cqi);
}

.w-fit {
  width: fit-content;
}

.min-w-full {
  min-width: 100%;
}

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

.z-1 {
  z-index: 1;
}

.z-2 {
  z-index: 2;
}

.z-3 {
  z-index: 3;
}

.z-10 {
  z-index: 10;
}

.z-15 {
  z-index: 15;
}

.z-20 {
  z-index: 20;
}

.z-25 {
  z-index: 25;
}

.z-30 {
  z-index: 30;
}

.z-35 {
  z-index: 35;
}

.z-40 {
  z-index: 40;
}

.z-45 {
  z-index: 45;
}

.z-50 {
  z-index: 50;
}

.z-100 {
  z-index: 100;
}

.z-9999 {
  z-index: 9999;
}

.visible {
  visibility: visible;
}

.invisible {
  visibility: hidden;
}

.opacity-0 {
  opacity: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.shrink {
  flex-shrink: 1;
}

.shrink-0 {
  flex-shrink: 0;
}

.grow {
  flex-grow: 1;
}

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

.gap-0 {
  gap: 0;
}

.gap-1 {
  gap: 4px;
}

.gap-1d5 {
  gap: 6px;
}

.gap-2 {
  gap: 8px;
}

.gap-2d5 {
  gap: 10px;
}

.gap-3 {
  gap: 12px;
}

.gap-4 {
  gap: 16px;
}

.gap-5 {
  gap: 20px;
}

.gap-6 {
  gap: 24px;
}

.gap-7 {
  gap: 28px;
}

.gap-8 {
  gap: 32px;
}

.gap-9 {
  gap: 36px;
}

.gap-10 {
  gap: 40px;
}

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

  .sm\:block {
    display: block;
  }

  .sm\:grid {
    display: grid;
  }

  .sm\:flex {
    display: flex;
  }
}

@media (min-width: 768px) {
  .md\:opacity-0 {
    opacity: 0;
  }

  .md\:sticky {
    position: sticky;
  }

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

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

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

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

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

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

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

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

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

  .md\:block {
    display: block;
  }

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

  .md\:inline {
    display: inline;
  }

  .md\:grid {
    display: grid;
  }

  .md\:flex {
    display: flex;
  }

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

  .md\:grid {
    display: grid;
  }

  .md\:hidden {
    display: none;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .md\:shrink-0 {
    flex-shrink: 0;
  }

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

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

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

  .md\:gap-1 {
    gap: 4px;
  }

  .md\:gap-2 {
    gap: 8px;
  }

  .md\:gap-3 {
    gap: 12px;
  }

  .md\:gap-4 {
    gap: 16px;
  }

  .md\:gap-5 {
    gap: 20px;
  }

  .md\:gap-6 {
    gap: 24px;
  }

  .md\:gap-7 {
    gap: 28px;
  }

  .md\:gap-8 {
    gap: 32px;
  }

  .md\:gap-9 {
    gap: 36px;
  }

  .md\:gap-10 {
    gap: 40px;
  }
}

@media (min-width: 960px) {
  .lg\:opacity-0 {
    opacity: 0;
  }

  .lg\:sticky {
    position: sticky;
  }

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

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

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

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

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

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

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

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

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

  .lg\:block {
    display: block;
  }

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

  .lg\:inline {
    display: inline;
  }

  .lg\:grid {
    display: grid;
  }

  .lg\:flex {
    display: flex;
  }

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

  .lg\:grid {
    display: grid;
  }

  .lg\:hidden {
    display: none;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .lg\:shrink-0 {
    flex-shrink: 0;
  }

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

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

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

  .lg\:gap-1 {
    gap: 4px;
  }

  .lg\:gap-2 {
    gap: 8px;
  }

  .lg\:gap-3 {
    gap: 12px;
  }

  .lg\:gap-4 {
    gap: 16px;
  }

  .lg\:gap-5 {
    gap: 20px;
  }

  .lg\:gap-6 {
    gap: 24px;
  }

  .lg\:gap-7 {
    gap: 28px;
  }

  .lg\:gap-8 {
    gap: 32px;
  }

  .lg\:gap-9 {
    gap: 36px;
  }

  .lg\:gap-10 {
    gap: 40px;
  }
}

@media (min-width: 1280px) {
  .xl\:opacity-0 {
    opacity: 0
  }

  .xl\:sticky {
    position: sticky
  }

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

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

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

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

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

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

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

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

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

  .xl\:block {
    display: block
  }

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

  .xl\:inline {
    display: inline
  }

  .xl\:grid {
    display: grid;
  }

  .xl\:flex {
    display: flex
  }

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

  .xl\:grid {
    display: grid
  }

  .xl\:hidden {
    display: none;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .xl\:shrink-0 {
    flex-shrink: 0;
  }

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

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

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

  .xl\:gap-1 {
    gap: 4px;
  }

  .xl\:gap-2 {
    gap: 8px;
  }

  .xl\:gap-3 {
    gap: 12px;
  }

  .xl\:gap-4 {
    gap: 16px;
  }

  .xl\:gap-5 {
    gap: 20px;
  }

  .xl\:gap-6 {
    gap: 24px;
  }

  .xl\:gap-7 {
    gap: 28px;
  }

  .xl\:gap-8 {
    gap: 32px;
  }

  .xl\:gap-9 {
    gap: 36px;
  }

  .xl\:gap-10 {
    gap: 40px;
  }
}

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

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

theme-loading-bar {
  background-color: rgb(var(--color-background));
}

theme-loading-bar[data-mode="inline"] {
  background-color: transparent;
  pointer-events: auto;
}

theme-loading-bar[data-mode="inline"]::before {
  content: '';
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  width: 100%;
  height: 60px;
  background: linear-gradient(to bottom, rgb(var(--color-background) / 0.6) 40%, transparent 100%);
}

theme-loading-bar::after {
  content: '';
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  width: 100%;
  height: 3px;
  background-color: rgb(var(--color-border));
}

theme-loading-bar [data-role="bar"] {
  display: block;
  height: 3px;
  background-color: rgb(var(--color-text));
  transform: translate3d(calc(-100% * var(--transform-logical)), 0, 0);
}

theme-loading-bar [data-role="spinner"] {
  position: fixed;
  inset-block-start: 16px;
  inset-inline-end: 16px;
}

theme-loading-bar:not([hidden]) .icon-spinner {
  animation: animation-circling 0.5s linear infinite;
}

.page-width {
  width: 100%;
  max-width: calc(var(--page-padding) * 2 + var(--page-width));
  padding-inline: var(--page-padding);
  margin-inline: auto;
}

.page-width.page-width--full {
  max-width: 100%;
  padding-inline: 0;
}

.page-width.page-width--fluid {
  max-width: 100%;
}

@media (min-width: 960px) {
  .page-width.page-width--narrow {
    max-width: 70rem;
  }
}

@media (max-width: 959px) {
  .page-width {
    max-width: 100%;
    padding-inline: var(--page-padding);
  }
}

.page-section {
  position: relative;
  color: rgb(var(--color-text));
  background: var(--gradient-background);
  background-color: rgb(var(--color-background));
}

.page-section::before {
  content: '';
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: var(--gradient-background);
  background-color: rgb(var(--color-background));
}

.page-section--divider {
  border-block-end: 1px solid rgb(var(--color-border));
}

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

.card-grid {
  --column-gap: var(--grid-horizontal-spacing);
  --row-gap: var(--grid-vertical-spacing);

  display: grid;
  grid-auto-columns: var(--column-width);
  grid-auto-flow: column;
  gap: var(--row-gap) var(--column-gap);
  width: 100%;
  overflow-x: auto;
}

@media (max-width: 959px) {
  .card-grid {
    --column-gap: calc(var(--grid-horizontal-spacing) / 2);
    --row-gap: calc(var(--grid-vertical-spacing) / 2);
    --column-width: calc((100% - var(--column-gap, 0px) * (var(--mobile-gap-columns, var(--mobile-columns)) - 1)) / var(--mobile-columns));

    grid-template-columns: repeat(var(--mobile-columns), var(--column-width));
    grid-auto-flow: var(--mobile-auto-flow, dense);
  }
}

@media (min-width: 640px) and (max-width: 959px) {
  .card-grid {
    --mobile-columns-alt: calc(var(--mobile-columns) + 1);
    --mobile-gap-columns-alt: calc(var(--mobile-gap-columns) + 1);
    --column-width: calc((100% - var(--column-gap, 0px) * (var(--mobile-gap-columns-alt, var(--mobile-columns-alt)) - 1)) / var(--mobile-columns-alt));

    grid-template-columns: repeat(var(--mobile-columns-alt), var(--column-width));
  }
}

@media (min-width: 960px) {
  .card-grid {
    --column-width: calc((100% - var(--column-gap, 0px) * (var(--gap-columns, var(--columns)) - 1)) / var(--columns));

    grid-template-columns: repeat(var(--columns), var(--column-width));
    grid-auto-flow: var(--auto-flow, dense);
  }
}

.button,
.shopline-element-buy-now {
  z-index: 1;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: 15px;
  padding-inline: 20px;
  font-family: var(--sort-button-font);
  font-size: var(--sort-button-size);
  font-weight: var(--sort-button-font-weight);
  line-height: var(--sort-body-line-height);
  letter-spacing: var(--sort-button-letter-spacing);
  text-transform: var(--sort-button-text-transform);
  background: var(--color-button-gradient);
  background-color: rgb(var(--color-button-background));
  color: rgb(var(--color-button-text));
  border-radius: var(--button-border-radius);
  border: none;
  cursor: pointer;
  user-select: none;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  box-shadow: var(--button-shadow-offset-x) var(--button-shadow-offset-y) var(--button-shadow-blur) rgb(var(--color-shadow)/ var(--button-shadow-opacity));
  transition: color 1s ease;
}

.button::before,
.shopline-element-buy-now::before {
  --border-width: var(--button-border-thickness);
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: var(--button-border-radius);
  transition: box-shadow 0.5s cubic-bezier(0.59, 0.03, 0.2, 1);
  box-shadow: inset 0 0 0 var(--border-width) rgb(var(--color-button-border) / var(--button-border-opacity));
}

.button:disabled,
.button.disabled {
  cursor: not-allowed;
  opacity: 0.3;
}

@media (pointer: fine) {

  .button::after,
  .shopline-element-buy-now::after {
    content: '';
    z-index: -1;
    position: absolute;
    inset: 0;
    pointer-events: none;
    width: 150%;
    height: calc(100% + var(--button-border-thickness));
    background-color: rgb(var(--color-button-text));
    transform: rotate3d(0, 0, 1, 10deg) translate3d(calc(-1.2em * var(--transform-logical)), 110%, 0);
    transform-origin: 0% 100%;
    transition: transform 0.5s cubic-bezier(0.59, 0.03, 0.2, 1);
  }

  .button:not([disabled], .button--link, .button--icon):hover,
  .shopline-element-buy-now:hover {
    color: rgb(var(--color-button-background));
  }

  .button:not([disabled]):hover::before,
  .shopline-element-buy-now:hover::before {
    --border-width: max(var(--button-border-thickness), 1px);
  }

  .button:not([disabled]):hover::after,
  .shopline-element-buy-now:hover::after {
    transform: rotate3d(0, 0, 1, 0) translateZ(0);
  }
}

@keyframes animation-button-press {
  0% {
    background-color: rgb(var(--color-button-text)/ 0.1);
    background-image: radial-gradient(circle,
        rgb(var(--color-button-text)/ 0.1) 1%,
        transparent 1%);
    background-repeat: no-repeat;
    background-position: 50%;
    background-origin: padding-box;
    background-size: 100%;
  }

  100% {
    background-position: 50%;
    background-size: 25000%;
  }
}

.button--secondary {
  background: none;
  background-color: rgb(var(--color-button-text));
  color: rgb(var(--color-button-background));
}

@media (pointer: fine) {
  .button--secondary::after {
    background: var(--color-button-gradient);
    background-color: rgb(var(--color-button-background));
  }

  .button--secondary:not([disabled]):hover {
    color: rgb(var(--color-button-text));
  }
}

.button--tertiary {
  --color-button-gradient: none;
  --color-button-background: transparent;
  --color-button-text: var(--color-text);
  --color-button-border: var(--color-text);
  --button-border-thickness: 1px;
  --button-border-opacity: 0.1;
  backdrop-filter: blur(16px);
}

.button--tertiary::after {
  content: none;
}

@media (pointer: fine) {
  .button--tertiary:hover {
    --button-border-thickness: 2px;
    --button-border-opacity: 1;
  }
}

.button--link,
.button--icon {
  --color-button-gradient: none;
  --color-button-background: transparent;
  --color-button-text: var(--color-text);

  padding: 0;
  border: none;
  box-shadow: none;
}

.button--link::before,
.button--link::after,
.button--icon::before,
.button--icon::after {
  content: none;
}

.button--link {
  padding-block-end: 6px;
  background: none;
  background-image: linear-gradient(to top, rgb(var(--color-text)) 0px), linear-gradient(to top, rgb(var(--color-border)) 0px);
  background-position-x: var(--transform-origin-start);
  background-position-y: bottom;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 2px, 100% 2px;
}

@media (pointer: fine) {
  .button--link {
    transition: background-size 0.3s ease;
  }

  .button--link:hover,
  .button--link:focus {
    background-position-x: var(--transform-origin-end);
    background-size: 0 2px, 100% 2px;
  }

  .button--icon .icon {
    transition: transform 0.3s ease;
  }

  @media (pointer: fine) {

    .button--icon:hover .icon,
    .button--icon:focus .icon {
      transform: scaleX(calc(var(--tw-scale-x) * 1.05)) scaleY(calc(var(--tw-scale-y) * 1.05));
    }
  }
}

.button__spinner {
  display: none;
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  width: 20px;
  height: 20px;
  margin-block-start: -10px;
  margin-inline-start: -10px;
  color: currentColor;
  transition: color 0.5s cubic-bezier(0.59, 0.03, 0.2, 1);
}

.button.loading span {
  color: transparent;
  transition-duration: 0.1s;
}

.button.loading .button__spinner {
  display: block;
  animation: animation-circling 0.5s linear infinite;
}

.button--large {
  padding-block: 20px;
}

.button--small {
  padding-block: 10px;
  font-weight: calc(var(--sort-button-font-weight) - 100);
}

.button--small::before {
  --border-width: max(calc(var(--button-border-thickness) - 1px), 1px);
}

.loading--rotator {
  display: none;
}

.loading .loading--rotator {
  animation: animation-circling 1.5s linear infinite;
}

.loading>.loading--rotator {
  display: inline-flex;
}

.button.loading .loading--rotator {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  display: flex;
  width: 20px;
  height: 20px;
  margin-block-start: -10px;
  margin-inline-start: -10px;
  color: rgb(var(--color-button-text));
  content: "";
}

.field {
  --input-height: 48px;
  --input-padding-inline: 16px;
  margin-block-end: 16px;
}

.field__inner {
  border-radius: var(--input-border-radius);
  box-shadow: var(--input-shadow-offset-x) var(--input-shadow-offset-y) var(--input-shadow-blur) rgb(var(--color-shadow) / var(--input-shadow-opacity));
}

.field__inner::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: var(--input-border-radius);
  box-shadow: inset 0 0 0 var(--input-border-thickness) rgb(var(--color-text) / var(--input-border-opacity));
  transition: box-shadow 0.3s ease;
}

.field__inner:focus,
.field__inner:focus-within {
  --input-border-opacity: 1;
}

.field__suffix {
  padding-block: 6px;
  padding-inline-end: 10px;
}

.field__suffix .button--link {
  padding-block-end: 2px;
}

.field__suffix .icon {
  opacity: 0.6;
}

.field__input,
.field__select,
.field__textarea {
  height: var(--input-height);
  padding: 0 var(--input-padding-inline);
  font-size: 1rem;
  font-family: inherit;
  font-weight: inherit;
  outline: none;
  width: 100%;
  max-width: 100%;
  appearance: none;
  border: none;
  background-color: transparent;
  color: rgb(var(--color-text));
}

.field__input::placeholder,
.field__textarea::placeholder {
  color: rgb(var(--color-text));
  opacity: 0;
}

.field__input[type="date"]::-webkit-calendar-picker-indicator {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.field__select {
  cursor: pointer;
}

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

.field__input:focus,
.field__select:focus-visible,
.field__textarea:focus {
  outline: none;
  --input-border-opacity: 1;
}

.field__textarea {
  height: auto;
  vertical-align: top;
  padding-block: 16px;
}

.field__label {
  padding-block: 0.25rem 0.5rem;
}

.field__select:has(~.icon) {
  padding-inline-end: calc(var(--input-padding-inline) + 1.25rem);
}

.field__select~.icon,
.field__input[type=date]~.icon {
  inset-block-start: calc(50% - 10px);
  inset-inline-end: var(--input-padding-inline);
}

.field__select~.icon {
  transform: scaleY(-1);
}

.field__info {
  display: flex;
  font-size: 12px;
  line-height: 1.4;
}

.field__info>svg {
  margin-inline-end: 4px;
}

.field__info--error {
  margin-block: -10px 20px;
  font-size: var(--body6-font-size);
  color: rgb(var(--color-error-text));
}

.field__info--error:empty {
  display: none;
}

@media (min-width: 960px) {
  .field__info>svg {
    margin-inline-end: 8px;
  }
}

.field:hover::after {
  border-color: rgb(var(--color-text)/ var(--input-border-opacity));
  border-width: calc(var(--input-border-thickness) + 1px);
}

.field:focus::after,
.field:focus-within::after {
  border-color: rgb(var(--color-text)/ var(--input-border-opacity));
  border-width: calc(var(--input-border-thickness) + 1px);
}

.field--disabled {
  pointer-events: none;
}

.field--error::after {
  border-color: rgb(var(--color-error-text)/ var(--input-border-opacity));
  border-width: calc(var(--input-border-thickness) + 1px);
}

input:is([type=checkbox], [type=radio]) {
  --active: rgb(var(--color-text));
  --active-inner: rgb(var(--color-background));
  --focus: 3px rgb(var(--color-border));
  --border: rgb(var(--color-border));
  --border-hover: rgb(var(--color-text));
  --background: rgb(var(--color-background));
  --disabled: rgb(var(--color-border));
  --disabled-inner: rgb(var(--color-text)/ 0.6);
  --border-radius: 50%;
  appearance: none;
  background: var(--b, var(--background));
  border: 1px solid var(--b, var(--border));
  cursor: pointer;
  display: inline-block;
  height: 14px;
  margin: 0;
  outline: none;
  position: relative;
  transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.2s ease;
  vertical-align: top;
}

input:is([type=checkbox], [type=radio]):focus-visible+label {
  outline: 2px solid rgb(var(--color-keyboard-focus));
  outline-offset: 3px;
}

input:is([type=checkbox], [type=radio]).sr-only {
  clip: rect(0, 0, 0, 0);
  border-width: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px
}

input:is([type=checkbox], [type=radio])::after {
  content: '';
  display: block;
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  transition: transform var(--d-t, .3s) var(--d-t-e, ease), opacity var(--d-o, .2s)
}

input:is([type=checkbox], [type=radio]):checked {
  --b: var(--active);
  --d-o: 0.3s;
  --d-t: 0.6s;
  --d-t-e: cubic-bezier(0.2, 0.85, 0.32, 1.2);
}

input:is([type=checkbox], [type=radio]):is(:disabled, .disabled) {
  --b: var(--disabled);
  cursor: not-allowed;
}

input:is([type=checkbox], [type=radio]):is(:disabled, .disabled):checked {
  --bc: var(--border);
  --active-inner: var(--disabled-inner);
}

input:is([type=checkbox], [type=radio]):is(:disabled, .disabled)+label {
  cursor: not-allowed;
}

input:is([type=checkbox], [type=radio]):hover:not(:checked, :disabled, .disabled) {
  --bc: var(--border-hover);
}

input:is([type=checkbox], [type=radio]):focus {
  box-shadow: 0 0 0 var(--focus);
}

input:is([type=checkbox], [type=radio]):not(.switch) {
  flex: 0 0 auto;
  width: 14px;
}

input:is([type=checkbox], [type=radio]):not(.switch)::before {
  content: '';
  display: block;
  position: absolute;
  width: 5px;
  height: 5px;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  transform: translate(calc(-50% * var(--transform-logical)), -50%);
  border-radius: var(--border-radius);
  background-color: var(--bc);
  transition: background-color 0.3s ease;
}

input:is([type=checkbox], [type=radio]):not(.switch)::after {
  opacity: var(--o, 0);
}

input:is([type=checkbox], [type=radio]):not(.switch):checked {
  --o: 1;
}

input:is([type=checkbox], [type=radio])+label {
  cursor: pointer;
  display: inline-block;
  vertical-align: top;
}

input:is([type=checkbox], [type=radio]):not(.switch) {
  border-radius: var(--border-radius);
}

input:is([type=checkbox], [type=radio]):not(.switch)::after {
  border: 1.5px solid var(--active-inner);
  border-inline-start: 0;
  border-block-start: 0;
  width: 4px;
  height: 8px;
  inset-inline-start: 4px;
  inset-block-start: 1px;
  transform: rotate(calc(var(--r, 20deg) * var(--transform-logical)));
}

input:is([type=checkbox], [type=radio]):not(.switch):checked {
  --r: 43deg;
}

input[type=checkbox].switch {
  --ab: var(--active-inner);
  --background: rgb(var(--color-border));
  box-shadow: none;
  border-color: transparent;
  border-radius: 999px;
  width: 35px;
  height: 18px;
}

input[type=checkbox].switch::after {
  background: var(--ab, var(--border));
  border-radius: 50%;
  width: 14px;
  height: 14px;
  inset-inline-start: 2px;
  inset-block-start: 1px;
  transform: translateX(calc(var(--x, 0) * var(--transform-logical)));
  box-shadow: 1px 1px 2px -1px var(--border);
}

input[type=checkbox].switch:checked {
  --ab: var(--active-inner);
  --x: 15px;
}

input[type=checkbox].switch:focus {
  outline: 2px solid rgb(var(--color-keyboard-focus));
  outline-offset: 3px;
}

input[type=checkbox].switch:is(:disabled, .disabled):not(:checked)::after {
  opacity: .6;
}

.swatches--round .color-swatch {
  --swatch-radius: 999px;
}

.color-swatch {
  --tw-ring-offset-shadow: inset 0 0 0 0 rgb(var(--color-background));
  --tw-ring-shadow: inset 0 0 0 1px rgb(var(--color-text)/ 0.115);
  --swatch-radius: 0px;
  --swatch-offset: 2px;
  --swatch-size: 22px;
  --swatch-margin: calc(var(--swatch-offset) * 2);
  width: var(--swatch-size);
  height: var(--swatch-size);
  border-radius: var(--swatch-radius);
  background: var(--swatch-background);
  transition: outline-color 0.2s ease;
}

.color-swatch::before {
  --tw-shadow: inset 1px 3px 0px rgb(var(--color-text) / 0.115);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);

  content: '';
  position: absolute;
  inset: 0;
  background: inherit;
  border-radius: inherit;
  transition: inset 0.3s ease;
}

.color-swatch::after {
  content: '';
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  width: 6px;
  height: 6px;
  transform: translate(calc(-50% * var(--transform-logical)), -50%);
  border-radius: inherit;
  background-color: rgb(var(--color-background));
  opacity: 0;
  transition: opacity 0.3s ease;
}

.color-swatch.with-image {
  background-size: cover;
  background-position: 50%;
  background-repeat: no-repeat;
  background-image: var(--swatch-background-image);
}

@media (pointer: fine) {
  input:not(:checked, :disabled, .disabled)+.color-swatch:hover::before {
    inset: calc(var(--swatch-offset) * -1);
  }
}

input:checked+.color-swatch::before {
  inset: calc(var(--swatch-offset) * -1);
}

input:checked+.color-swatch::after {
  opacity: 1;
}

input:is(:disabled, .disabled)+.color-swatch::after {
  --disabled-color: 214 103 98;
  --tw-shadow-colored: 0 0 0 1.5px var(--tw-shadow-color);
  --tw-shadow-color: rgb(var(--disabled-color));
  --tw-shadow: var(--tw-shadow-colored);

  opacity: 1;
  width: auto;
  height: auto;
  transform: none;
  inset: -3px;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  background: linear-gradient(to bottom right, transparent calc(50% - 0.5px), rgb(var(--disabled-color)) calc(50% - 0.5px) calc(50% + 0.5px), transparent calc(50% + 0.5px));
}

@media (pointer: fine) {
  .color-swatch .tooltip {
    background-color: rgb(var(--color-text));
    inset-block-end: calc(100% + 12px);
    color: rgb(var(--color-background));
    padding: 7px 6px;
    font-size: 12px;
    font-weight: normal;
    line-height: 1;
    width: max-content;
    visibility: hidden;
    animation: animation-tooltip-out 0.3s ease;
    transition: visibility 0.3s ease;
  }

  .color-swatch .tooltip,
  .color-swatch .tooltip::after {
    position: absolute;
    inset-inline-start: 50%;
    transform: translateX(calc(-50% * var(--transform-logical)));
  }

  .color-swatch .tooltip::after {
    content: '';
    border-color: rgb(var(--color-text)) transparent;
    border-style: solid;
    border-width: 10px 10px 0;
    inset-block-end: -7px;
    display: block;
    width: 0;
  }

  .color-swatch:hover .tooltip {
    visibility: visible;
    animation-name: animation-tooltip-in;
    animation-fill-mode: forwards;
  }
}

.color-swatch__hit-area {
  position: absolute;
  inset: -6px;
}

.form__error-message {
  margin-block-end: 16px;
  font-size: var(--body5-font-size);
  color: rgb(var(--color-error-text));
}

.form__error-message:last-child {
  margin-block-end: 0;
}

.form__error-message:empty {
  display: none;
}

@keyframes animation-beat {

  0%,
  to {
    transform: scale(1)
  }

  50% {
    transform: scale(1.2)
  }
}

@keyframes animation-fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes animation-fade-out {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes animation-fade-in-center {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

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

@keyframes animation-fade-out-center {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 0;
    transform: translateY(10px);
  }
}

@keyframes animation-zoom-in {
  from {
    opacity: 0;
    transform: scaleY(0.8);
  }

  to {
    opacity: 1;
    transform: scaleY(1);
  }
}

@keyframes animation-zoom-out {
  from {
    opacity: 1;
    transform: scaleY(1);
  }

  to {
    opacity: 0;
    transform: scaleY(0.8);
  }
}

@keyframes animation-slide-in {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }

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

@keyframes animation-slide-out {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 0;
    transform: translateY(-10px);
  }
}

@keyframes animation-slide-in-top {
  from {
    transform: translateY(-100%);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes animation-slide-out-top {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-100%);
  }
}

@keyframes animation-slide-in-bottom {
  from {
    transform: translateY(100%);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes animation-slide-out-bottom {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(100%);
  }
}

@keyframes animation-slide-in-left {
  from {
    transform: translateX(calc(-100% * var(--transform-logical)));
  }

  to {
    transform: translateX(0);
  }
}

@keyframes animation-slide-out-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(calc(-100% * var(--transform-logical)));
  }
}

@keyframes animation-slide-in-right {
  from {
    transform: translateX(calc(100% * var(--transform-logical)));
  }

  to {
    transform: translateX(0);
  }
}

@keyframes animation-slide-out-right {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(calc(100% * var(--transform-logical)));
  }
}

@keyframes animation-circling {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(1turn);
  }
}

@keyframes animation-tooltip-in {
  0% {
    transform: translate3d(calc(-50% * var(--transform-logical)), -20%, 0);
    opacity: 0;
  }

  to {
    transform: translate3d(calc(-50% * var(--transform-logical)), 0%, 0);
    opacity: 1;
  }
}

@keyframes animation-tooltip-out {
  0% {
    transform: translate3d(calc(-50% * var(--transform-logical)), 0%, 0);
    opacity: 1;
  }

  to {
    transform: translate3d(calc(-50% * var(--transform-logical)), -20%, 0);
    opacity: 0;
  }
}

@media (min-width: 960px) {
  .modal-border-shadow {
    box-sizing: border-box;
    border-color: rgb(var(--color-text)/ var(--modal-border-opacity));
    border-style: solid;
    border-width: var(--modal-border-thickness);
    border-radius: var(--modal-border-radius);
    box-shadow: var(--modal-shadow-offset-x) var(--modal-shadow-offset-y) var(--modal-shadow-blur) rgb(var(--color-shadow)/ var(--modal-shadow-opacity));
  }

  .drawer-border-shadow {
    box-sizing: border-box;
    border-color: rgb(var(--color-text)/ var(--drawer-border-opacity));
    border-style: solid;
    border-width: var(--drawer-border-thickness);
    box-shadow: var(--drawer-shadow-offset-x) var(--drawer-shadow-offset-y) var(--drawer-shadow-blur) rgb(var(--color-shadow)/ var(--drawer-shadow-opacity));
  }

  [data-placement="left"]>details>.drawer-border-shadow {
    border-width: 0 var(--drawer-border-thickness) 0 0;
  }

  [data-placement="right"]>details>.drawer-border-shadow {
    border-width: 0 0 0 var(--drawer-border-thickness);
  }

  [data-placement="top"]>details>.drawer-border-shadow {
    border-width: 0 0 var(--drawer-border-thickness) 0;
  }

  [data-placement="bottom"]>details>.drawer-border-shadow {
    border-width: var(--drawer-border-thickness) 0 0 0;
  }

  [data-placement="center"]>details>.drawer-border-shadow {
    border-width: var(--drawer-border-thickness);
  }
}

.variant-picker-border-shadow {
  box-sizing: border-box;
  overflow: hidden;
  border-color: rgb(var(--color-text)/ var(--variant-picker-border-opacity));
  border-style: solid;
  border-width: var(--variant-picker-border-thickness) !important;
  border-radius: var(--variant-picker-border-radius);
  box-shadow: var(--variant-picker-shadow-offset-x) var(--variant-picker-shadow-offset-y) var(--variant-picker-shadow-blur) rgb(var(--color-shadow)/ var(--variant-picker-shadow-opacity));
}

.product-card-border-shadow {
  box-sizing: border-box;
  overflow: hidden;
  border-color: rgb(var(--color-text)/ var(--product-card-border-opacity));
  border-style: solid;
  border-width: var(--product-card-border-thickness) !important;
  border-radius: var(--product-card-border-radius);
  box-shadow: var(--product-card-shadow-offset-x) var(--product-card-shadow-offset-y) var(--product-card-shadow-blur) rgb(var(--color-shadow)/ var(--product-card-shadow-opacity));
}

.collection-card-border-shadow {
  box-sizing: border-box;
  overflow: hidden;
  border-color: rgb(var(--color-text)/ var(--collection-card-border-opacity));
  border-style: solid;
  border-width: var(--collection-card-border-thickness) !important;
  border-radius: var(--collection-card-border-radius);
  box-shadow: var(--collection-card-shadow-offset-x) var(--collection-card-shadow-offset-y) var(--collection-card-shadow-blur) rgb(var(--color-shadow)/ var(--collection-card-shadow-opacity));
}

.article-card-border-shadow {
  box-sizing: border-box;
  overflow: hidden;
  border-color: rgb(var(--color-text)/ var(--article-card-border-opacity));
  border-style: solid;
  border-width: var(--article-card-border-thickness) !important;
  border-radius: var(--article-card-border-radius);
  box-shadow: var(--article-card-shadow-offset-x) var(--article-card-shadow-offset-y) var(--article-card-shadow-blur) rgb(var(--color-shadow)/ var(--article-card-shadow-opacity));
}

.rte ul,
.rte ol {
  padding: revert;
  margin: revert;
  list-style: revert;
}

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

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

.rte a {
  text-decoration: none;
}

.rte img,
.rte video {
  max-width: 100%;
  height: auto;
}

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

.rte p img {
  vertical-align: bottom;
}

.rte table {
  table-layout: fixed;
}

@layer component {
  theme-input-number {
    display: inline-flex;
    align-items: center;
    width: calc(3 * var(--sort-body-size) + var(--input-border-thickness) * 2 + 24px * 2);
    color: rgb(var(--color-text));
  }

  theme-input-number button[name="minus"],
  theme-input-number button[name="plus"] {
    position: relative;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    background-color: rgb(var(--color-text)/ 0.045);
    color: rgb(var(--color-text));
  }

  theme-input-number button[name="minus"]:disabled,
  theme-input-number button[name="plus"]:disabled {
    pointer-events: none;
    cursor: not-allowed;
    opacity: 0.3;
  }

  theme-input-number button[name="minus"] .icon,
  theme-input-number button[name="plus"] .icon {
    width: 10px;
    height: 10px;
    pointer-events: none;
  }

  theme-input-number input[type="number"] {
    flex: 1 0 0;
    width: 100%;
    min-width: 40px;
    padding: 0;
    color: currentcolor;
    text-align: center;
    appearance: textfield;
    background: transparent;
    border: 0;
    outline-style: none;
  }

  theme-input-number input[type="number"]::-webkit-outer-spin-button,
  theme-input-number input[type="number"]::-webkit-inner-spin-button {
    margin: 0;
    appearance: none;
  }

  @media (min-width: 960px) {

    theme-input-number button[name="minus"],
    theme-input-number button[name="plus"] {
      width: 32px;
      height: 32px;
    }
  }

  @media (pointer: fine) {

    theme-input-number button[name="minus"]::before,
    theme-input-number button[name="plus"]::before {
      content: '';
      position: absolute;
      display: block;
      inset: 0px;
      border-radius: 50%;
      background-color: rgb(var(--color-text));
      transform: scale(0);
      transition: transform 0.5s cubic-bezier(.19, 1, .22, 1);
    }

    theme-input-number button[name="minus"]:hover::before,
    theme-input-number button[name="plus"]:hover::before {
      transform: scale(1);
    }

    theme-input-number button[name="minus"] .icon,
    theme-input-number button[name="plus"] .icon {
      position: relative;
      transition: color 0.5s cubic-bezier(.19, 1, .22, 1);
    }

    theme-input-number button[name="minus"]:hover .icon,
    theme-input-number button[name="plus"]:hover .icon {
      color: rgb(var(--color-background));
    }
  }
}

.country-select__dropdown {
  appearance: none;
  border: none;
}

.country-select__trigger {
  padding-inline-start: 16px;
}

.country-select__trigger::before {
  content: '';
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  height: 100%;
  border-inline-start: 1px solid rgb(var(--color-border));
}

@layer component {
  theme-show-more:empty {
    display: none;
  }

  theme-show-more:not([open]) [data-more="true"],
  theme-show-more:not([open]) .view-less {
    display: none !important;
  }

  theme-show-more[open] .view-more {
    display: none !important;
  }
}

.product-price {
  color: rgb(var(--color-price));
}

.product-price__item--compare {
  position: relative;
  font-size: 90%;
  vertical-align: middle;
}

.product-price__item--compare::after {
  content: '';
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 50%;
  width: 100%;
  transform: rotate(-15deg);
  border-block-end: 1px solid rgb(var(--color-discount));
}

.product-price:has(> .product-price__item--compare) .product-price__item {
  color: rgb(var(--color-discount));
}

.social_platform {
  width: 24px;
  height: 24px;
}

@media (pointer: fine) {
  .social_platform::before {
    content: '';
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: rgb(var(--color-text));
    transform: scale(0);
    transition: transform 0.5s cubic-bezier(.19, 1, .22, 1);
  }

  .social_platform .icon {
    position: relative;
    transition: 0.5s cubic-bezier(.19, 1, .22, 1);
    transition-property: transform, color;
  }

  .social_platform:hover::before {
    transform: scale(1.5);
  }

  .social_platform:hover .icon {
    transform: scale(0.8);
    color: rgb(var(--color-background));
  }
}

.spacer:empty,
.divider:empty {
  display: block;
}

.divider::before {
  content: '';
  display: block;
  height: var(--s-height);
  background-color: rgb(var(--color-border));
}

.media {
  width: 100%;
  display: block;
  position: relative;
  aspect-ratio: var(--aspect-ratio, unset);
  background-color: rgb(var(--color-image-background));
}

.media.inline-block {
  width: auto;
  display: inline-block;
}

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

.media>:is(img, svg) {
  aspect-ratio: inherit;
}

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

.media--contain>img {
  object-fit: contain;
}

.media--height {
  height: 100%;
  aspect-ratio: unset;
}

.media--height>:is(img, svg) {
  inset: 0;
  position: absolute;
  max-width: 100%;
  width: 100%;
  height: 100%;
}

@media (min-width: 960px) {
  .media--adapt>:is(img, svg) {
    position: unset;
  }
}

@media (max-width: 959px) {
  .mobile\:media--adapt>:is(img, svg) {
    position: unset;
  }
}

.media.background-media {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.media.background-media>:is(img, svg, video) {
  width: 100%;
  height: 100%;
}

.media.background-media::after {
  content: '';
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-color: rgb(var(--color-mask)/ var(--mask-opacity));
}

@keyframes preloading {

  0%,
  44%,
  88.1%,
  to {
    transform-origin: var(--transform-origin-start);
  }

  0%,
  to,
  88% {
    transform: scaleX(0);
  }

  44.1%,
  88% {
    transform-origin: var(--transform-origin-end);
  }

  33%,
  44% {
    transform: scaleX(1);
  }
}

[data-lazy-image] .media.loading::before,
[data-lazy-image] .media.loading::after {
  content: '';
  z-index: 1;
  position: absolute;
  width: min(50px, 34%);
  height: 2px;
  box-shadow: none;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  margin-block-start: -1px;
  margin-inline-start: max(-25px, -17%);
  background-color: rgb(var(--color-base-text));
}

[data-lazy-image] .media.loading::before {
  background-color: rgb(var(--color-base-background));
}

[data-lazy-image] .media.loading::after {
  animation: preloading 1.2s infinite ease;
}

[data-lazy-image] .media.loading>img {
  opacity: 0;
}

@media (pointer: fine) {
  .media>img {
    transition: 0.3s ease;
    transition-property: opacity, transform;
  }
}

.block-group-content {
  color: rgb(var(--color-text));
}

.block-image,
.block-video {
  border-radius: var(--border-radius);
}

.block-image::after,
.block-video::after {
  content: '';
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-color: rgb(var(--color-mask)/ var(--mask-opacity));
}

.block-image .media,
.block-video .media {
  width: 100%;
  overflow: hidden;
  border-radius: var(--border-radius);
}

.block-text {
  font-size: var(--mobile-text-size);
}

@media (min-width: 960px) {
  .block-text {
    font-size: var(--text-size);
  }
}

.payment-icons svg {
  width: auto;
  height: 24px;
}

.payment-icons--grayscale svg {
  filter: grayscale(1);
}

.theme-sticky-header--sticky-collapse~.main-content theme-sticky {
  --inset: 0px;
}

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

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

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

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

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

.scroll-locked {
  overflow: hidden;
}

@media(min-width: 960px) and (max-width: 1279px) {
  .section .style\:spacing {
    margin-inline-start: calc(var(--s-margin-inline-start) * 0.75);
    margin-inline-end: calc(var(--s-margin-inline-end) * 0.75);
    margin-block-start: calc(var(--s-margin-block-start) * 0.75);
    margin-block-end: calc(var(--s-margin-block-end) * 0.75);
    padding-inline-start: calc(var(--s-padding-inline-start) * 0.75);
    padding-inline-end: calc(var(--s-padding-inline-end) * 0.75);
    padding-block-start: calc(var(--s-padding-block-start) * 0.75);
    padding-block-end: calc(var(--s-padding-block-end) * 0.75);
  }

}

/* Apply from the 3rd section onward */
[data-page-rendering] #MainContent>.section+.section~.section {
  content-visibility: auto;
}

.shopline-design-mode [data-page-rendering] #MainContent>.section+.section~.section,
.no-js [data-page-rendering] #MainContent>.section+.section~.section {
  content-visibility: visible;
  contain-intrinsic-size: auto;
}

[data-page-rendering] .media.loading::after {
  animation: none;
}