/** Shopify CDN: Minification failed

Line 8623:0 Unexpected "}"

**/
@charset "UTF-8";
/* Normalize */
body {
  margin: 0;
}

a:empty:not(.no-empty),
ul:empty:not(.no-empty),
dl:empty:not(.no-empty),
section:empty:not(.no-empty),
article:empty:not(.no-empty),
p:empty:not(.no-empty),
h1:empty:not(.no-empty),
h2:empty:not(.no-empty),
h3:empty:not(.no-empty),
h4:empty:not(.no-empty),
h5:empty:not(.no-empty),
h6:empty:not(.no-empty) {
  display: none;
}

div:empty:not(.no-empty, .pswp__bg, .image-magnify-full-size) {
  display: none;
}

picture {
  width: 100%;
  display: block;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  -webkit-tap-highlight-color: transparent;
}

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

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

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

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

html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

html[scroll-lock] body {
  overflow: hidden;
  padding-inline-end: var(--scrollbar-width);
}

*:focus-visible {
  outline: var(--focus-outline-width, 0.2rem) solid var(--color-keyboard-focus, #0B61CD);
  outline-offset: var(--focus-outline-offset, 0.1rem);
}

pre {
  white-space: normal;
}

@keyframes text-underlined {
  0% {
    transform: scaleX(1);
    transform-origin: var(--transform-origin-end);
  }
  50% {
    transform: scaleX(0);
    transform-origin: var(--transform-origin-end);
  }
  51% {
    transform-origin: var(--transform-origin-start);
  }
  100% {
    transform: scaleX(1);
  }
}
@keyframes popupIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes popupOut {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(0.9);
  }
}
@keyframes slideFromBottom {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes slideOutToBottom {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(100%);
  }
}
@keyframes slideFromTop {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes slideOutToTop {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
@keyframes dialogBackdropIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes dialogBackdropOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes dots-bounce {
  0%, 100% {
    transform: scale(0.6);
  }
  20% {
    transform: scale(1);
  }
  40%, 60%, 80% {
    transform: scale(0.6);
  }
}
@keyframes spinner {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes crescent {
  0% {
    stroke-dashoffset: 280;
  }
  50% {
    stroke-dashoffset: 75;
    transform: rotate(135deg);
  }
  100% {
    stroke-dashoffset: 280;
    transform: rotate(450deg);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes scrolling-left {
  0% {
    transform: translate(0);
  }
  100% {
    transform: translate(-100%);
  }
}
@keyframes scrolling-right {
  0% {
    transform: translate(-100%);
  }
  100% {
    transform: translate(0);
  }
}
@keyframes hotspot {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes reveal-rotate-words {
  0% {
    transform: translateY(110%) rotate(10deg);
  }
  100% {
    transform: none;
  }
}
@keyframes drawHighlightStroke {
  0% {
    stroke-dashoffset: 1;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes slideInInline {
  from {
    transform: translateX(var(--slide-inline-from));
  }
  to {
    transform: translateX(0);
  }
}
@keyframes slideOutInline {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(var(--slide-inline-from));
  }
}
body {
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
  font-size: var(--font-body-size);
  line-height: var(--font-body-line-height);
  color: var(--color-foreground);
  -webkit-font-smoothing: antialiased;
}

select {
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
  font-size: inherit;
}

.body-typography,
.body-typography > *:not(h1, h2, h3, h4, h5, h6),
.body-typography > .btn,
.body-typography.btn,
.accordion-body-typography summary {
  font-family: var(--font-body-family);
  font-size: var(--font-body-size);
  letter-spacing: var(--font-body-letter-spacing, 0);
}

.body-typography,
.body-typography > .btn,
.body-typography.btn,
.accordion-body-typography summary {
  font-weight: var(--font-body-weight);
}

.accent-typography,
.accent-typography > *:not(h1, h2, h3, h4, h5, h6),
.accent-typography > .btn,
.accordion-accent-typography summary {
  font-family: var(--font-accent-family);
  font-size: var(--font-body-size);
  letter-spacing: var(--font-body-letter-spacing, 0);
}

.accent-typography,
.accent-typography > :is(h1, h2, h3, h4, h5, h6),
.body-typography,
.body-typography > :is(h1, h2, h3, h4, h5, h6) {
  text-transform: var(--font-body-text-case, none);
  line-height: var(--font-body-line-height);
}

.accent-typography,
.accent-typography > .btn,
.accent-typography.btn,
.accordion-accent-typography summary {
  font-weight: var(--font-accent-weight);
}

.subheading-typography,
.subheading-typography > *,
.subheading-typography > .btn {
  font-family: var(--font-subheading-family);
  font-size: var(--font-subheading-size);
  text-transform: var(--font-subheading-text-case, none);
  letter-spacing: var(--font-subheading-letter-spacing);
}

.subheading-typography {
  font-weight: var(--font-subheading-weight);
}

.heading-typography,
.heading-typography > *,
.heading-typography > .btn,
.accordion-heading-typography summary {
  font-size: var(--font-body-size);
  letter-spacing: var(--font-body-letter-spacing, 0);
  font-family: var(--font-heading-family);
}

.accent-typography > .btn,
.body-typography.btn,
.body-typography > .btn,
.heading-typography > .btn {
  text-transform: var(--font-body-text-case, none);
}

.heading-typography,
.heading-typography > .btn,
.heading-typography.btn,
.accordion-heading-typography summary {
  font-weight: var(--font-heading-weight);
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: var(--font-heading-family);
  font-style: var(--font-heading-style);
  font-weight: var(--font-heading-weight);
  letter-spacing: var(--font-heading-letter-spacing);
  color: var(--color-heading);
  word-break: break-word;
  margin: 0;
}

h1, .h1,
.heading-typography.h1 > *,
.accordion-typography--h1 summary {
  font-size: var(--font-h1-size);
  letter-spacing: var(--font-heading-letter-spacing);
}

h1, .h1,
.accordion-typography--h1 summary {
  line-height: var(--font-h1-line-height);
  text-transform: var(--font-h1-text-case);
}

h2, .h2,
.heading-typography.h2 > *,
.accordion-typography--h2 summary {
  font-size: var(--font-h2-size);
  letter-spacing: var(--font-heading-letter-spacing);
}

h2, .h2,
.accordion-typography--h2 summary {
  line-height: var(--font-h2-line-height);
  text-transform: var(--font-h2-text-case);
}

h3, .h3,
.heading-typography.h3 > *,
.accordion-typography--h3 summary {
  font-size: var(--font-h3-size);
  letter-spacing: var(--font-heading-letter-spacing);
}

h3, .h3,
.accordion-typography--h3 summary {
  line-height: var(--font-h3-line-height);
  text-transform: var(--font-h3-text-case);
}

h4, .h4,
.heading-typography.h4 > *,
.accordion-typography--h4 summary {
  font-size: var(--font-h4-size);
  letter-spacing: var(--font-heading-letter-spacing);
}

h4, .h4,
.accordion-typography--h4 summary {
  line-height: var(--font-h4-line-height);
  text-transform: var(--font-h4-text-case);
}

h5, .h5,
.heading-typography.h5 > *,
.accordion-typography--h5 summary {
  font-size: var(--font-h5-size);
  letter-spacing: var(--font-heading-letter-spacing);
}

h5, .h5,
.accordion-typography--h5 summary {
  line-height: var(--font-h5-line-height);
  text-transform: var(--font-h5-text-case);
}

h6, .h6,
.heading-typography.h6 > *,
.accordion-typography--h6 summary {
  font-size: var(--font-h6-size);
  letter-spacing: var(--font-heading-letter-spacing);
}

h6, .h6,
.accordion-typography--h6 summary {
  line-height: var(--font-h6-line-height);
  text-transform: var(--font-h6-text-case);
}

.custom-typography,
.custom-typography > * {
  font-family: var(--font-family);
  font-size: var(--font-size);
  letter-spacing: var(--font-letter-spacing);
  line-height: var(--font-line-height-mobile, var(--font-line-height));
  text-transform: var(--font-text-case);
}

.custom-typography {
  font-weight: var(--font-weight);
  font-style: var(--font-style);
}

@media only screen and (min-width: 768px) {
  .custom-typography,
  .custom-typography > * {
    line-height: var(--font-line-height);
  }
}
:root,
.page-width {
  --page-padding: 1.6rem;
}

.site-wrap {
  overflow: clip;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.site-wrap > .section-group-announcement-bar {
  order: 1;
}
.site-wrap > * {
  order: 2;
}
.site-wrap .content-for-layout {
  flex: 1;
}

.background-media-container--none {
  display: none;
}

.background-image-container,
.background-video-container {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.background-image-container img,
.background-image-container svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: auto;
}
.background-image-container .image-component {
  width: 100%;
  height: 100%;
}

.background-video-container > * {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.background-video-container deferred-media {
  border: 0;
  box-shadow: none;
}

.page-padding-inline {
  padding-inline: var(--page-padding);
}

/* Section */
@media (min-width: 768px) {
  .page-full-width,
  .page-width,
  .custom-page-width {
    --page-padding: 3rem;
  }
}
@media (min-width: 1280px) {
  .page-full-width,
  .page-width,
  .custom-page-width {
    --page-padding: 5rem;
  }
}
.page-full-bleed-desktop {
  padding-inline: var(--page-padding);
}
@media (min-width: 768px) {
  .page-full-bleed-desktop {
    padding-inline: 0;
  }
}

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

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

.page-width,
.page-full-width,
.custom-page-width {
  padding-inline: var(--page-padding);
}

@media (max-width: 767px) {
  .page-width-mobile {
    --page-padding: 1.6rem;
    padding-inline: var(--page-padding);
  }
}

@media (max-width: 767px) {
  .page-full-bleed-mobile {
    padding-inline: 0;
  }
}

.container-full {
  --page-padding: 0;
}
.container-wide {
  --page-padding: 1.6rem;
}
@media (min-width: 768px) {
  .container-wide {
    --page-padding: 3rem;
  }
}
@media (min-width: 1025px) {
  .container-wide {
    --page-padding: 5rem;
  }
}
.container-fixed {
  --page-padding: 1.6rem;
}
@media (min-width: 768px) {
  .container-fixed {
    --page-padding: 3rem;
  }
}
@media (min-width: 1025px) {
  .container-fixed {
    --page-padding: max(5rem, calc(50vw - var(--scrollbar-width, 0px) / 2 - var(--page-width) / 2));
  }
}

.frame-grid {
  --page-padding: max(5rem, calc(50vw - var(--scrollbar-width, 0px) / 2 - var(--page-width) / 2));
  display: grid;
  grid-template-columns: var(--page-padding) minmax(0, 1fr) var(--page-padding);
}
.frame-grid--full > * {
  grid-column: 1/-1;
}
.frame-grid--fixed > * {
  grid-column: 2;
}

.section {
  position: relative;
}

.section--height-full-screen {
  min-height: calc(100svh - var(--header-sticky-height, 0px));
}

.section--height-custom {
  min-height: var(--section-min-height, auto);
}

.shopify-section:first-child .section--height-full-screen {
  min-height: calc(100svh - var(--offset-top-height, 0px));
}

.section-background {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.column-block {
  height: 100%;
  width: 100%;
  position: relative;
}

@media (min-width: 768px) {
  .section-content--sticky.layout-flex--row {
    position: relative;
  }
  .section-content--sticky.layout-flex--row > * {
    position: sticky;
    top: calc(var(--header-sticky-height, 0px) + var(--sticky-offset-spacing, 1.6rem));
  }
  .section-content--sticky.layout-flex--row[style*="--flex-align: end;"] > * {
    top: auto;
    bottom: var(--sticky-bottom, 1.6rem);
  }
}

/* Group */
.grid-block,
.stacked-block {
  position: relative;
  display: grid;
}
.grid-block--height-fit,
.stacked-block--height-fit {
  height: auto;
}
.grid-block--height-custom,
.stacked-block--height-custom {
  height: var(--size-style-height, 100%);
}
.grid-block--height-fill,
.stacked-block--height-fill {
  height: auto;
  align-self: stretch;
}

.layout-flex {
  display: flex;
  height: 100%;
  flex-flow: var(--flex-direction) var(--flex-wrap);
}
.layout-flex--row, .layout-flex--column {
  justify-content: var(--flex-justify, start);
  align-items: var(--flex-align, start);
}
.layout-flex--column > .grid-block--height-fit, .layout-flex--column > .stacked-block--height-fit {
  flex: 0 1 auto;
}
.layout-flex--column > .grid-block--height-fill, .layout-flex--column > .stacked-block--height-fill {
  flex: 1;
}
.layout-flex--column > .grid-block--height-custom, .layout-flex--column > .stacked-block--height-custom {
  flex-basis: var(--size-style-height);
}
.layout-flex--column > .align-context {
  --text-align-default: var(--flex-align, start);
}
.layout-flex--row > .align-context {
  --text-align-default: var(--flex-justify, start);
}
@media (max-width: 767px) {
  .layout-flex {
    height: auto;
    flex-flow: var(--flex-direction-mobile, var(--flex-direction)) var(--flex-wrap-mobile, var(--flex-wrap));
  }
  .layout-flex--row-mobile, .layout-flex--column-mobile {
    justify-content: var(--flex-justify-mobile, var(--flex-justify, start));
    align-items: var(--flex-align-mobile, var(--flex-align, start));
  }
  .layout-flex--row-mobile {
    --max-width--display-tight: 3.25em;
    --size-style-width-mobile-min: 5rem;
  }
  .layout-flex--row-mobile > .menu {
    flex: 1 1 min-content;
  }
  .layout-flex--row-mobile > .text-block:is(.size-style--width-fill-mobile, .size-style--width-custom-mobile) {
    min-width: var(--max-width--display-tight);
  }
  .layout-flex--row-mobile > .image-block,
  .layout-flex--row-mobile > .image-card {
    flex: 1 1 var(--size-style-width-mobile-min);
  }
  .layout-flex--row-mobile > .button {
    flex: 0 0 fit-content;
  }
  .layout-flex--row-mobile > .align-context {
    --text-align-default: var(--flex-justify-mobile, start);
  }
  .layout-flex--column-mobile > .align-context {
    --text-align-default: var(--flex-align-mobile, start);
  }
  .layout-flex--column:not(.layout-flex--column-mobile, .layout-flex--row-mobile) > .align-context {
    --text-align-default: var(--flex-align-mobile, var(--flex-align, start));
  }
  .layout-flex--row:not(.layout-flex--row-mobile, .layout-flex--column-mobile) > .align-context {
    --text-align-default: var(--flex-justify-mobile, var(--flex-justify, start));
  }
}

/* Grid */
.layout-grid {
  --columns-grid: var(--columns, auto-fill);
  --column-gap-max: var(--column-gap);
  --row-gap-max: var(--row-gap);
  --column-gap-min: var(--column-gap-mobile);
  --row-gap-min: var(--row-gap-mobile);
  --gap-min: var(--gap-mobile);
  display: grid;
  grid-template-columns: repeat(var(--columns-grid), minmax(0, 1fr));
  column-gap: calc(var(--column-gap) * 1px);
  row-gap: calc(var(--row-gap) * 1px);
  height: 100%;
}
@media (max-width: 1279px) {
  .layout-grid {
    --columns-grid: var(--columns-laptop, var(--columns, auto-fill));
  }
}
@media (max-width: 1024px) {
  .layout-grid {
    --columns-grid: var(--columns-tablet, var(--columns-laptop, var(--columns, auto-fill)));
  }
}
@media only screen and (min-width: 768px) and (max-width: 1279px) {
  .layout-grid {
    column-gap: clamp(max(var(--column-gap-min) * 1px, var(--column-gap-max) * 0.3px), (var(--column-gap-max) - var(--column-gap-min)) / 512 * 100vw + (var(--column-gap-min) - (var(--column-gap-max) - var(--column-gap-min)) / 512 * 768) * 1px, var(--column-gap-max) * 1px);
    row-gap: clamp(max(var(--row-gap-min) * 1px, var(--row-gap-max) * 0.3px), (var(--row-gap-max) - var(--row-gap-min)) / 512 * 100vw + (var(--row-gap-min) - (var(--row-gap-max) - var(--row-gap-min)) / 512 * 768) * 1px, var(--row-gap-max) * 1px);
  }
}
@media (max-width: 767px) {
  .layout-grid {
    --columns-grid: var(--columns-mobile, var(--columns-tablet, var(--columns-laptop, var(--columns, auto-fill))));
    column-gap: calc(var(--column-gap-mobile) * 1px);
    row-gap: calc(var(--row-gap-mobile) * 1px);
  }
}

@media (max-width: 479px) {
  .layout-grid--custom-columns {
    --columns-grid: var(--columns-xs, var(--columns-mobile, var(--columns, auto-fill)));
  }
}
@media (min-width: 480px) and (max-width: 767px) {
  .layout-grid--custom-columns {
    --columns-grid: var(--columns-sm, var(--columns-mobile, var(--columns, auto-fill)));
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .layout-grid--custom-columns {
    --columns-grid: var(--columns-md, var(--columns-tablet, var(--columns, auto-fill)));
  }
}
@media (min-width: 1025px) and (max-width: 1279px) {
  .layout-grid--custom-columns {
    --columns-grid: var(--columns-lg, var(--columns-laptop, var(--columns, auto-fill)));
  }
}
@media (min-width: 1280px) and (max-width: 1440px) {
  .layout-grid--custom-columns {
    --columns-grid: var(--columns-xl, var(--columns, auto-fill));
  }
}
@media (min-width: 1441px) {
  .layout-grid--custom-columns {
    --columns-grid: var(--columns-xxl, var(--columns, auto-fill));
  }
}

@media (max-width: 767px) {
  .block-first-on-mobile {
    order: -1;
  }
}
.visually-hidden:not(:focus, :active) {
  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;
}

@media only screen and (min-width: 768px) {
  .visually-hidden-desktop {
    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;
  }
}
@media only screen and (max-width: 767px) {
  .visually-hidden-mobile {
    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;
  }
}
a.skip-to-content-link:not(:focus) {
  clip: rect(0, 0, 0, 0);
  border-width: 0;
  height: 1px;
  min-height: 0;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
a.skip-to-content-link:focus {
  position: absolute;
  top: 10px;
  inset-inline-start: 10px;
  z-index: 10000;
  transition: none;
}

.cursor-pointer {
  cursor: pointer;
}

.flex {
  display: flex;
}

.\!flex {
  display: flex !important;
}

.inline {
  display: inline;
}

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

.grid {
  display: grid;
}

.block {
  display: block;
}

.\!block {
  display: block !important;
}

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

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

.hidden {
  display: none;
}

.\!hidden {
  display: none !important;
}

[hidden] {
  display: none;
}

@media (min-width: 0) {
  .xs\:hidden {
    display: none;
  }
  .xs\:\!hidden {
    display: none !important;
  }
  .xs\:block {
    display: block;
  }
  .xs\:inline-block {
    display: inline-block;
  }
  .xs\:flex {
    display: flex;
  }
  .xs\:\!flex {
    display: flex !important;
  }
  .xs\:\!block {
    display: block !important;
  }
  .xs\:\!hidden {
    display: none !important;
  }
  .xs\:inline-flex {
    display: inline-flex;
  }
  .xs\:\!inline-flex {
    display: inline-flex !important;
  }
  .xs\:grid {
    display: grid;
  }
  .xs\:table-cell {
    display: table-cell;
  }
  .xs\:table-row {
    display: table-row;
  }
}
@media (min-width: 480px) {
  .sm\:hidden {
    display: none;
  }
  .sm\:\!hidden {
    display: none !important;
  }
  .sm\:block {
    display: block;
  }
  .sm\:inline-block {
    display: inline-block;
  }
  .sm\:flex {
    display: flex;
  }
  .sm\:\!flex {
    display: flex !important;
  }
  .sm\:\!block {
    display: block !important;
  }
  .sm\:\!hidden {
    display: none !important;
  }
  .sm\:inline-flex {
    display: inline-flex;
  }
  .sm\:\!inline-flex {
    display: inline-flex !important;
  }
  .sm\:grid {
    display: grid;
  }
  .sm\:table-cell {
    display: table-cell;
  }
  .sm\:table-row {
    display: table-row;
  }
}
@media (min-width: 768px) {
  .md\:hidden {
    display: none;
  }
  .md\:\!hidden {
    display: none !important;
  }
  .md\:block {
    display: block;
  }
  .md\:inline-block {
    display: inline-block;
  }
  .md\:flex {
    display: flex;
  }
  .md\:\!flex {
    display: flex !important;
  }
  .md\:\!block {
    display: block !important;
  }
  .md\:\!hidden {
    display: none !important;
  }
  .md\:inline-flex {
    display: inline-flex;
  }
  .md\:\!inline-flex {
    display: inline-flex !important;
  }
  .md\:grid {
    display: grid;
  }
  .md\:table-cell {
    display: table-cell;
  }
  .md\:table-row {
    display: table-row;
  }
}
@media (min-width: 1025px) {
  .lg\:hidden {
    display: none;
  }
  .lg\:\!hidden {
    display: none !important;
  }
  .lg\:block {
    display: block;
  }
  .lg\:inline-block {
    display: inline-block;
  }
  .lg\:flex {
    display: flex;
  }
  .lg\:\!flex {
    display: flex !important;
  }
  .lg\:\!block {
    display: block !important;
  }
  .lg\:\!hidden {
    display: none !important;
  }
  .lg\:inline-flex {
    display: inline-flex;
  }
  .lg\:\!inline-flex {
    display: inline-flex !important;
  }
  .lg\:grid {
    display: grid;
  }
  .lg\:table-cell {
    display: table-cell;
  }
  .lg\:table-row {
    display: table-row;
  }
}
@media (min-width: 1200px) {
  .lgx\:hidden {
    display: none;
  }
  .lgx\:\!hidden {
    display: none !important;
  }
  .lgx\:block {
    display: block;
  }
  .lgx\:inline-block {
    display: inline-block;
  }
  .lgx\:flex {
    display: flex;
  }
  .lgx\:\!flex {
    display: flex !important;
  }
  .lgx\:\!block {
    display: block !important;
  }
  .lgx\:\!hidden {
    display: none !important;
  }
  .lgx\:inline-flex {
    display: inline-flex;
  }
  .lgx\:\!inline-flex {
    display: inline-flex !important;
  }
  .lgx\:grid {
    display: grid;
  }
  .lgx\:table-cell {
    display: table-cell;
  }
  .lgx\:table-row {
    display: table-row;
  }
}
@media (min-width: 1280px) {
  .xl\:hidden {
    display: none;
  }
  .xl\:\!hidden {
    display: none !important;
  }
  .xl\:block {
    display: block;
  }
  .xl\:inline-block {
    display: inline-block;
  }
  .xl\:flex {
    display: flex;
  }
  .xl\:\!flex {
    display: flex !important;
  }
  .xl\:\!block {
    display: block !important;
  }
  .xl\:\!hidden {
    display: none !important;
  }
  .xl\:inline-flex {
    display: inline-flex;
  }
  .xl\:\!inline-flex {
    display: inline-flex !important;
  }
  .xl\:grid {
    display: grid;
  }
  .xl\:table-cell {
    display: table-cell;
  }
  .xl\:table-row {
    display: table-row;
  }
}
@media (min-width: 1441px) {
  .xxl\:hidden {
    display: none;
  }
  .xxl\:\!hidden {
    display: none !important;
  }
  .xxl\:block {
    display: block;
  }
  .xxl\:inline-block {
    display: inline-block;
  }
  .xxl\:flex {
    display: flex;
  }
  .xxl\:\!flex {
    display: flex !important;
  }
  .xxl\:\!block {
    display: block !important;
  }
  .xxl\:\!hidden {
    display: none !important;
  }
  .xxl\:inline-flex {
    display: inline-flex;
  }
  .xxl\:\!inline-flex {
    display: inline-flex !important;
  }
  .xxl\:grid {
    display: grid;
  }
  .xxl\:table-cell {
    display: table-cell;
  }
  .xxl\:table-row {
    display: table-row;
  }
}
.visible-hidden {
  visibility: hidden;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.flex-1 {
  flex: 1;
}

.flex-auto {
  flex: auto;
}

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

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

@media (min-width: 768px) {
  .md\:flex-col {
    flex-direction: column;
  }
  .md\:flex-row {
    flex-direction: row;
  }
  .md\:flex-row-reverse {
    flex-direction: row-reverse;
  }
  .md\:items-start {
    align-items: flex-start;
  }
  .md\:items-center {
    align-items: center;
  }
  .md\:items-end {
    align-items: flex-end;
  }
  .md\:justify-between {
    justify-content: space-between;
  }
  .md\:flex-1 {
    flex: 1;
  }
  .md\:flex-none {
    flex: none;
  }
  .md\:self-center {
    align-self: center;
  }
  .md\:justify-start {
    justify-content: flex-start;
  }
  .md\:justify-center {
    justify-content: center;
  }
  .md\:justify-end {
    justify-content: flex-end;
  }
  .md\:justify-between {
    justify-content: space-between;
  }
}
@media (min-width: 1025px) {
  .lg\:flex-col {
    flex-direction: column;
  }
  .lg\:flex-row {
    flex-direction: row;
  }
}
.gap-3 {
  gap: var(--gap-3);
}

.gap-4 {
  gap: 0.4rem;
}

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

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

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

.gap-12 {
  gap: 1.2rem;
}

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

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

.gap-24 {
  gap: 2.4rem;
}

.gap-30 {
  gap: 3rem;
}

.gap-32 {
  gap: 3.2rem;
}

.gap-style {
  --gap: 0;
  --gap-mobile: var(--gap, 0);
  --gap-max: var(--gap);
  --gap-min: var(--gap-mobile);
  gap: calc(var(--gap-mobile) * 1px);
}
@media only screen and (min-width: 1280px) {
  .gap-style {
    gap: calc(var(--gap) * 1px);
  }
}
@media only screen and (min-width: 768px) {
  .gap-style.gap-style-lock {
    gap: calc(var(--gap) * 1px);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1279px) {
  .gap-style:not(.gap-style-lock) {
    gap: clamp(max(var(--gap-min) * 1px, var(--gap-max) * 0.3px), (var(--gap-max) - var(--gap-min)) / 512 * 100vw + (var(--gap-min) - (var(--gap-max) - var(--gap-min)) / 512 * 768) * 1px, var(--gap-max) * 1px);
  }
}

.column-gap-style {
  column-gap: var(--column-gap);
}

.row-gap-style {
  row-gap: var(--row-gap);
}

.\!column-gap-0 {
  column-gap: 0 !important;
}

.\!row-gap-0 {
  row-gap: 0 !important;
}

.grid-flow-dense {
  grid-auto-flow: dense;
}

.row-span-full {
  grid-row: 1/-1;
}

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

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.fixed {
  position: fixed;
}

.sticky {
  position: sticky;
  top: var(--sticky-top, 0px);
}

.inset-0 {
  inset: 0;
}

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

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

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

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

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

.link-underline--hover {
  position: relative;
  display: inline-block;
}
.link-underline--hover:after {
  content: "";
  width: 0;
  height: 1px;
  background: currentColor;
  position: absolute;
  inset-inline-end: 0;
  bottom: 0;
  transition: width var(--animation-speed-slow) var(--animation-easing);
}

.header__mega-dropdown[open] > .menu__title .link-underline--hover,
.menu-dropdown[open] > .menu__title .link-underline--hover {
  color: var(--color-heading);
}
.header__mega-dropdown[open] > .menu__title .link-underline--hover:after,
.menu-dropdown[open] > .menu__title .link-underline--hover:after {
  width: 100%;
  inset-inline-start: 0;
  inset-inline-end: auto;
}
.header__mega-dropdown[open] > .menu__title > .menu-dropdown__icon svg,
.menu-dropdown[open] > .menu__title > .menu-dropdown__icon svg {
  transform: scaleY(-1);
}

.link-underline {
  text-underline-offset: 0.3rem;
  text-decoration-thickness: 0.1rem;
  text-decoration-line: underline;
}

@media (hover: hover) and (pointer: fine) {
  .link-underline--hover:hover {
    color: var(--color-heading);
  }
  .link-underline--hover:hover:after {
    width: 100%;
    inset-inline-start: 0;
    inset-inline-end: auto;
  }
}
.text-limit {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

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

.text-limit--2-lines {
  -webkit-line-clamp: 2;
}

.text-limit--3-lines {
  -webkit-line-clamp: 3;
}

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

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

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

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.capitalize {
  text-transform: capitalize;
}

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

.italic {
  font-style: italic;
}

@media (min-width: 768px) {
  .md\:text-start {
    text-align: start;
  }
  .md\:text-center {
    text-align: center;
  }
  .md\:text-end {
    text-align: end;
  }
}
.w-full {
  width: 100%;
}

.h-full {
  height: 100%;
}

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

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

.w-auto {
  width: auto;
}

.min-w-0 {
  min-width: 0;
}

.w-1 {
  width: 1px;
}

.h-1 {
  height: 1px;
}

.h-auto {
  height: auto;
}

.w-50 {
  width: 50%;
}

@media only screen and (min-width: 768px) {
  .md\:w-50 {
    width: 50%;
  }
}
.size-style {
  --width: 100%;
  --max-width: 100%;
  --width-mobile: 100%;
  --max-width-mobile: 100%;
  width: var(--width-mobile);
  max-width: var(--max-width-mobile);
}
@media only screen and (min-width: 768px) {
  .size-style {
    width: var(--width);
    max-width: var(--max-width);
  }
}

.width-style {
  width: calc(var(--width-mobile) * 1px);
  --width-max: var(--width);
  --width-min: var(--width-mobile);
}
@media only screen and (min-width: 768px) {
  .width-style {
    width: calc(var(--width) * 1px);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1279px) {
  .width-style {
    width: clamp(max(var(--width-min) * 1px, var(--width-max) * 0.3px), (var(--width-max) - var(--width-min)) / 512 * 100vw + (var(--width-min) - (var(--width-max) - var(--width-min)) / 512 * 768) * 1px, var(--width-max) * 1px);
  }
}

.size-style--width-custom {
  flex-basis: var(--width, auto);
}

@media only screen and (min-width: 768px) {
  .size-style--width-fill-desktop.image-block, .size-style--width-fill-desktop.deferred-media-block {
    min-width: 3rem;
  }
  .size-style--width-fill-desktop.text-block {
    min-width: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .size-style--width-fill-mobile.image-block, .size-style--width-fill-mobile.deferred-media-block {
    min-width: 3rem;
  }
  .size-style--width-fill-mobile.text-block {
    min-width: 5rem;
  }
}
.block--full-width {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  padding-inline: calc(var(--scrollbar-width, 1.5rem) / 2);
}

@media only screen and (min-width: 768px) {
  .section-content.layout-flex--row > .size-style--width-fill-desktop,
  .group-block__content.layout-flex--row > .size-style--width-fill-desktop {
    flex: 1 1 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-content.layout-flex--row-mobile > .size-style--width-fill-mobile,
  .group-block__content.layout-flex--row-mobile > .size-style--width-fill-mobile {
    flex: 1 1 5rem;
  }
}
.\!bg-transparent {
  background-color: transparent !important;
}

.bg-current {
  background-color: var(--color-background);
}

.bg-gray-600 {
  background-color: var(--color-background-gray-600);
}

.bg-gray-300 {
  background-color: var(--color-border);
}

.blurred-edges-background {
  mask-image: linear-gradient(to right, transparent 0, #fff 10%, #fff 90%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0, #fff 10%, #fff 90%, transparent 100%);
}

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

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

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

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

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

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

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

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

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

/* Font Size by Base Body Font Size */
.fs-xxl {
  font-size: var(--font-size-xxl);
}

.fs-xl {
  --font-body-size: var(--font-size-xl);
  font-size: var(--font-size-xl);
}

.fs-lg {
  --font-body-size: var(--font-size-lg);
  font-size: var(--font-size-lg);
}

.fs-md {
  font-size: var(--font-size-md);
}

.fs-sm {
  font-size: var(--font-size-sm);
}

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

/* Fixed Font Size */
.fs-24 {
  font-size: 2.4rem;
}

.lh-normal {
  line-height: normal;
}

.lh-1 {
  line-height: 1;
}

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

.fw-500 {
  font-weight: 500;
}

.py-4 {
  padding-block: 0.4rem;
}

.px-12 {
  padding-inline: 1.2rem;
}

.px-16 {
  padding-inline: 1.6rem;
}

.py-16 {
  padding-block: 1.6rem;
}

.p-20 {
  padding: 2rem;
}

.pt-24 {
  padding-top: 2.4rem;
}

.px-24 {
  padding-inline: 2.4rem;
}

.mx-auto {
  margin-inline: auto;
}

.ms-auto {
  margin-inline-start: auto;
}

.m-0 {
  margin: 0;
}

.mt-0 {
  margin-top: 0;
}

.mt-8 {
  margin-top: 0.8rem;
}

.mb-8 {
  margin-bottom: 0.8rem;
}

.mt-16 {
  margin-top: 1.6rem;
}

.mb-16 {
  margin-bottom: 1.6rem;
}

.mb-20 {
  margin-bottom: 2rem;
}

.mt-24 {
  margin-top: 2.4rem;
}

.mb-24 {
  margin-bottom: 2.4rem;
}

.mb-30 {
  margin-bottom: 3rem;
}

.mt-30 {
  margin-top: 3rem;
}

.mb-40 {
  margin-bottom: 4rem;
}

.mt-40 {
  margin-top: 4rem;
}

@media (min-width: 768px) {
  .md\:px-30 {
    padding-inline: 3rem;
  }
}
.spacing-padding {
  --padding-block-start: 0;
  --padding-block-end: 0;
  --padding-inline-start: 0;
  --padding-inline-end: 0;
  --padding-block-start-mobile: var(--padding-block-start);
  --padding-block-end-mobile: var(--padding-block-end);
  --padding-inline-start-mobile: var(--padding-inline-start);
  --padding-inline-end-mobile: var(--padding-inline-end);
  --padding-block-start-max: var(--padding-block-start);
  --padding-block-end-max: var(--padding-block-end);
  --padding-inline-start-max: var(--padding-inline-start);
  --padding-inline-end-max: var(--padding-inline-end);
  --padding-block-start-min: var(--padding-block-start-mobile);
  --padding-block-end-min: var(--padding-block-end-mobile);
  --padding-inline-start-min: var(--padding-inline-start-mobile);
  --padding-inline-end-min: var(--padding-inline-end-mobile);
  padding-block-start: calc(var(--padding-block-start-mobile) * 1px);
  padding-block-end: calc(var(--padding-block-end-mobile) * 1px);
  padding-inline-start: calc(var(--padding-inline-start-mobile) * 1px);
  padding-inline-end: calc(var(--padding-inline-end-mobile) * 1px);
}
@media only screen and (min-width: 1280px) {
  .spacing-padding {
    padding-block-start: calc(var(--padding-block-start) * 1px);
    padding-block-end: calc(var(--padding-block-end) * 1px);
    padding-inline-start: calc(var(--padding-inline-start) * 1px);
    padding-inline-end: calc(var(--padding-inline-end) * 1px);
  }
}
@media only screen and (min-width: 768px) {
  .spacing-padding.spacing-padding-lock {
    padding-block-start: calc(var(--padding-block-start) * 1px);
    padding-block-end: calc(var(--padding-block-end) * 1px);
    padding-inline-start: calc(var(--padding-inline-start) * 1px);
    padding-inline-end: calc(var(--padding-inline-end) * 1px);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1279px) {
  .spacing-padding:not(.spacing-padding-lock) {
    padding-block-start: clamp(max(var(--padding-block-start-min) * 1px, var(--padding-block-start-max) * 0.3px), (var(--padding-block-start-max) - var(--padding-block-start-min)) / 512 * 100vw + (var(--padding-block-start-min) - (var(--padding-block-start-max) - var(--padding-block-start-min)) / 512 * 768) * 1px, var(--padding-block-start-max) * 1px);
    padding-block-end: clamp(max(var(--padding-block-end-min) * 1px, var(--padding-block-end-max) * 0.3px), (var(--padding-block-end-max) - var(--padding-block-end-min)) / 512 * 100vw + (var(--padding-block-end-min) - (var(--padding-block-end-max) - var(--padding-block-end-min)) / 512 * 768) * 1px, var(--padding-block-end-max) * 1px);
    padding-inline-start: clamp(max(var(--padding-inline-start-min) * 1px, var(--padding-inline-start-max) * 0.3px), (var(--padding-inline-start-max) - var(--padding-inline-start-min)) / 512 * 100vw + (var(--padding-inline-start-min) - (var(--padding-inline-start-max) - var(--padding-inline-start-min)) / 512 * 768) * 1px, var(--padding-inline-start-max) * 1px);
    padding-inline-end: clamp(max(var(--padding-inline-end-min) * 1px, var(--padding-inline-end-max) * 0.3px), (var(--padding-inline-end-max) - var(--padding-inline-end-min)) / 512 * 100vw + (var(--padding-inline-end-min) - (var(--padding-inline-end-max) - var(--padding-inline-end-min)) / 512 * 768) * 1px, var(--padding-inline-end-max) * 1px);
  }
}

.spacing-padding-block {
  --spacing-unit: 1px;
  --padding-block-start: 0;
  --padding-block-end: 0;
  --padding-block-start-mobile: var(--padding-block-start);
  --padding-block-end-mobile: var(--padding-block-end);
  --padding-block-start-max: var(--padding-block-start);
  --padding-block-end-max: var(--padding-block-end);
  --padding-block-start-min: var(--padding-block-start-mobile);
  --padding-block-end-min: var(--padding-block-end-mobile);
  padding-block-start: calc(var(--padding-block-start-mobile) * var(--spacing-unit, 1px));
  padding-block-end: calc(var(--padding-block-end-mobile) * var(--spacing-unit, 1px));
}
@media only screen and (min-width: 1280px) {
  .spacing-padding-block {
    padding-block-start: calc(var(--padding-block-start) * var(--spacing-unit, 1px));
    padding-block-end: calc(var(--padding-block-end) * var(--spacing-unit, 1px));
  }
}
@media only screen and (min-width: 768px) {
  .spacing-padding-block.spacing-padding-lock {
    padding-block-start: calc(var(--padding-block-start) * var(--spacing-unit, 1px));
    padding-block-end: calc(var(--padding-block-end) * var(--spacing-unit, 1px));
  }
}
@media only screen and (min-width: 768px) and (max-width: 1279px) {
  .spacing-padding-block:not(.spacing-padding-lock) {
    padding-block-start: clamp(max(var(--padding-block-start-min) * 1px, var(--padding-block-start-max) * 0.3px), (var(--padding-block-start-max) - var(--padding-block-start-min)) / 512 * 100vw + (var(--padding-block-start-min) - (var(--padding-block-start-max) - var(--padding-block-start-min)) / 512 * 768) * 1px, var(--padding-block-start-max) * 1px);
    padding-block-end: clamp(max(var(--padding-block-end-min) * 1px, var(--padding-block-end-max) * 0.3px), (var(--padding-block-end-max) - var(--padding-block-end-min)) / 512 * 100vw + (var(--padding-block-end-min) - (var(--padding-block-end-max) - var(--padding-block-end-min)) / 512 * 768) * 1px, var(--padding-block-end-max) * 1px);
  }
}

.padding-block {
  padding-block-start: var(--padding-block-start, 0);
  padding-block-end: var(--padding-block-end, 0);
}

.color-heading {
  color: var(--color-heading);
}

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

@media (hover: hover) and (pointer: fine) {
  .color-heading-hover:hover {
    color: var(--color-heading);
  }
}
.custom-color,
.custom-color > :is(h1, h2, h3, h4, h5, h6, p, *) {
  color: var(--color);
}

.border-top {
  border-top: 0.1rem solid var(--color-border);
}

.border-bottom {
  border-bottom: 0.1rem solid var(--color-border);
}

.border-color {
  border-color: var(--color-border);
}

.border-none {
  border: none;
}

.border-style {
  --border-width: 0px;
  --border-radius: 0;
  border-width: var(--border-width);
  border-style: var(--border-style, solid);
  border-color: var(--border-color, var(--color-border));
}

.popover-border-style {
  border-width: var(--popover-border-width, 1px);
  border-style: var(--popover-border-style, solid);
  border-color: var(--popover-border-color, var(--color-border));
}

.rounded-full {
  border-radius: 9999px;
}

.media-border-radius {
  border-radius: var(--media-border-radius, 0);
}
.media-border-radius > .placeholder-image {
  border-radius: var(--media-border-radius, 0);
  overflow: hidden;
}

.media-border-radius-sm {
  border-radius: var(--media-border-radius-sm, 0);
}
.media-border-radius-sm > .placeholder-image {
  border-radius: var(--media-border-radius-sm, 0);
  overflow: hidden;
}

.menu-media-border-radius {
  border-radius: var(--menu-media-radius, var(--media-border-radius-sm, 0));
}
.menu-media-border-radius > .placeholder-image {
  border-radius: var(--menu-media-radius, var(--media-border-radius-sm, 0));
  overflow: hidden;
}

.media-border-radius-xs {
  border-radius: var(--media-border-radius-xs, 0);
}
.media-border-radius-xs > .placeholder-image {
  border-radius: var(--media-border-radius-xs, 0);
  overflow: hidden;
}

.media-border-radius-lg {
  border-radius: var(--media-border-radius-lg, 0);
}
.media-border-radius-lg > .placeholder-image {
  border-radius: var(--media-border-radius-lg, 0);
  overflow: hidden;
}

.container-border-radius {
  border-radius: var(--container-border-radius, 0);
}

.container-border-radius-base {
  border-radius: var(--container-border-radius-base, 0);
}

.container-border-radius-sm {
  border-radius: var(--container-border-radius-sm, 0);
}

.container-border-radius-lg {
  border-radius: var(--container-border-radius-lg, 0);
}

.container-clip-radius {
  border-radius: var(--container-border-radius, 0);
  clip-path: inset(0 round var(--container-border-radius, 0));
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-10 {
  order: 10;
}

@media (min-width: 768px) {
  .md\:order-1 {
    order: 1;
  }
  .md\:order-2 {
    order: 2;
  }
  .md\:order-3 {
    order: 3;
  }
}
.overflow-hidden {
  overflow: hidden;
}

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

.text-ellipsis {
  text-overflow: ellipsis;
}

.opacity-0 {
  opacity: 0;
}

.\!transition-none {
  transition: none !important;
}

.user-select-none {
  user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}

.object-cover {
  object-fit: cover;
}

.align-style {
  text-align: var(--text-align-mobile, var(--text-align, left));
}
@media only screen and (min-width: 768px) {
  .align-style {
    text-align: var(--text-align, left);
  }
}

.aspect-ratio {
  object-fit: var(--object-fit, cover);
  aspect-ratio: var(--ratio-mobile, var(--ratio, 1));
}
@media only screen and (min-width: 768px) {
  .aspect-ratio {
    aspect-ratio: var(--ratio, 1);
  }
}

.aspect-square {
  aspect-ratio: 1/1;
}

.shadow-style {
  --shadow-color: var(--color-shadow);
  box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) var(--shadow-blur) var(--shadow-spread) var(--shadow-color);
}

.shadow-none {
  --shadow-horizontal-offset: 0;
  --shadow-vertical-offset: 0;
  --shadow-blur: 0;
  --shadow-spread: 0;
}

.shadow-xs {
  --shadow-horizontal-offset: 0;
  --shadow-vertical-offset: 1px;
  --shadow-blur: 5px;
  --shadow-spread: 0px;
}

.shadow-sm {
  --shadow-horizontal-offset: 0;
  --shadow-vertical-offset: 2px;
  --shadow-blur: 10px;
  --shadow-spread: 0px;
}

.shadow-md {
  --shadow-horizontal-offset: 0;
  --shadow-vertical-offset: 4px;
  --shadow-blur: 20px;
  --shadow-spread: 0px;
}

.shadow-lg {
  --shadow-horizontal-offset: 0;
  --shadow-vertical-offset: 6px;
  --shadow-blur: 30px;
  --shadow-spread: 0px;
}

.meta-dot {
  display: inline-block;
  width: 0.3rem;
  height: 0.3rem;
  border-radius: 50%;
  background-color: var(--color-foreground);
}
.meta-dot:first-child {
  display: none;
}

.btn--loading .bouncing-dots,
.bouncing-dots:not(.hidden) {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--gap-8);
}

.bouncing-dots span {
  width: 7px;
  height: 7px;
  background-color: #272727;
  border-radius: 50%;
  display: inline-block;
  animation: dots-bounce 1s infinite var(--animation-easing);
}

.bouncing-dots span:nth-child(2) {
  animation-delay: var(--animation-speed-slow);
}

.bouncing-dots span:nth-child(3) {
  animation-delay: var(--animation-speed-slowest);
}

.loading-spinner {
  line-height: 1;
}
.loading-spinner svg {
  animation: spinner 0.6s linear infinite;
}

.loading-state .loading-visible {
  display: flex;
}

.loading-state .loading-hidden {
  display: none;
}

.spinner {
  --spinning-duration: 1.5s;
  display: inline-block;
  position: absolute;
  z-index: 1;
  width: var(--spinner-size, 2rem);
  height: var(--spinner-size, 2rem);
  line-height: 1;
  opacity: 0;
}
.spinner svg {
  width: 1em;
  height: 1em;
}
.spinner__loading {
  width: 100%;
  height: 100%;
  animation: spinner var(--spinning-duration) linear infinite;
  opacity: 1;
}
.spinner__crescent {
  stroke-dasharray: 280;
  stroke-dashoffset: 0;
  transform-origin: center;
  stroke: currentColor;
  animation: crescent var(--spinning-duration) var(--animation-easing) infinite;
}

accordion-custom {
  --accordion-overflow-y: hidden;
}
@media screen and (min-width: 768px) {
  accordion-custom {
    --accordion-overflow-y: clip;
  }
}
accordion-custom.accordion-animated details .details-content {
  opacity: 0;
  height: 0;
  overflow-y: var(--accordion-overflow-y);
}
accordion-custom.accordion-animated details[open] .details-content {
  opacity: 1;
  height: auto;
  visibility: visible;
}
accordion-custom:not(.accordion-animated) details::details-content,
accordion-custom:not(.accordion-animated) details .details-content {
  block-size: 0;
  overflow-y: var(--accordion-overflow-y);
  opacity: 0;
  interpolate-size: allow-keywords;
  transition: content-visibility var(--animation-speed-slow) allow-discrete, padding-block var(--animation-speed-slow) var(--animation-easing), opacity var(--animation-speed-slow) var(--animation-easing), block-size var(--animation-speed-slow) var(--animation-easing);
}
accordion-custom:not(.accordion-animated) details .details-content__inner {
  padding-block-start: var(--padding-sm, 0.8rem);
  padding-block-end: var(--padding-sm, 0.8rem);
}
accordion-custom:not(.accordion-animated) details:not([open])::details-content,
accordion-custom:not(.accordion-animated) details:not([open]) .details-content {
  padding-block: 0;
}
accordion-custom:not(.accordion-animated) details[open]::details-content,
accordion-custom:not(.accordion-animated) details[open] .details-content {
  opacity: 1;
  block-size: auto;
}
@starting-style {
  accordion-custom:not(.accordion-animated) details[open]::details-content,
  accordion-custom:not(.accordion-animated) details[open] .details-content {
    block-size: 0;
    opacity: 0;
    overflow-y: var(--accordion-overflow-y);
  }
}
accordion-custom:not(.accordion-animated) details[open]::details-content:focus-within,
accordion-custom:not(.accordion-animated) details[open] .details-content:focus-within {
  overflow-y: visible;
}
accordion-custom .details-content {
  --font-body-letter-spacing: 0;
}

.accordion--single-open accordion-custom:not(.accordion-animated) details::details-content,
.accordion--single-open accordion-custom:not(.accordion-animated) details .details-content {
  height: 0;
  overflow-y: var(--accordion-overflow-y);
  opacity: 0;
  transition: content-visibility var(--animation-speed-slow) allow-discrete, height var(--animation-speed-slow) var(--animation-easing), opacity var(--animation-speed-slow) var(--animation-easing);
}
.accordion--single-open accordion-custom:not(.accordion-animated) details[open]::details-content,
.accordion--single-open accordion-custom:not(.accordion-animated) details[open] .details-content {
  opacity: 1;
  height: auto;
}
@starting-style {
  .accordion--single-open accordion-custom:not(.accordion-animated) details[open]::details-content,
  .accordion--single-open accordion-custom:not(.accordion-animated) details[open] .details-content {
    opacity: 0;
    overflow-y: var(--accordion-overflow-y);
  }
}
.accordion--single-open accordion-custom:not(.accordion-animated) details[open]::details-content:focus-within,
.accordion--single-open accordion-custom:not(.accordion-animated) details[open] .details-content:focus-within {
  overflow-y: visible;
}

summary {
  display: flex;
  align-items: center;
  cursor: pointer;
  list-style: none;
  color: var(--summary-color, var(--color-heading));
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  user-select: none;
  font-family: var(--summary-font-family, var(--font-heading-family));
  font-weight: var(--summary-font-weight, var(--font-heading-weight));
  font-size: var(--summary-font-size, var(--font-h5-size));
  letter-spacing: var(--summary-font-letter-spacing, var(--font-heading-letter-spacing));
}
summary .svg-icon {
  display: flex;
  margin-inline-start: auto;
  font-size: var(--summary-icon-size, 1.8rem);
  transition: transform var(--animation-speed) var(--animation-easing);
}

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

@media screen and (max-width: 767px) {
  accordion-custom[data-disable-on-mobile=true] summary {
    cursor: auto;
  }
}

@media screen and (min-width: 768px) {
  accordion-custom[data-disable-on-desktop=true] summary {
    cursor: auto;
  }
}

.accordion--simple {
  gap: calc(var(--accordion-gap-mobile, 8px) - var(--gap-8) * 2);
}
.accordion--simple .details__header {
  padding-block: min(var(--accordion-gap-mobile, 8px) / 2, var(--gap-8));
}
.accordion--simple details .details-content__inner {
  padding-block-start: calc(var(--gap-8) - var(--accordion-gap-mobile, 8px));
}
.accordion--chevron .icon-plus, .accordion--plus .icon-chevron {
  display: none;
}
.accordion--dividers {
  gap: 0;
}
.accordion--dividers .details__header {
  padding-block-start: var(--accordion-gap-mobile, 8px);
  padding-block-end: var(--accordion-gap-mobile, 8px);
}
.accordion--dividers .details {
  display: block;
  border-style: none;
  border-block-start: 1px var(--accordion-divider-style, solid) var(--color-border);
  width: 100%;
}
.accordion--dividers .details-content__inner {
  padding-block-end: var(--accordion-gap-mobile, var(--accordion-gap, 8px));
}
.accordion--dividers accordion-custom:last-child .details {
  border-block-end: 1px var(--accordion-divider-style, solid) var(--color-border);
}
.accordion__divider {
  display: none;
}
.accordion--boxed {
  --accordion-row-box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) var(--shadow-blur) var(--shadow-spread) var(--color-shadow);
  background-color: transparent;
  gap: var(--accordion-gap-mobile, 8px);
}
.accordion--boxed .accordion-row {
  display: block;
  border-radius: var(--accordion-row-border-radius, 0px);
  border: var(--accordion-row-border-width, 1px) solid var(--color-border);
  background-color: var(--color-background);
  box-shadow: var(--accordion-row-box-shadow);
}
.accordion--boxed .details__header {
  padding-block: var(--accordion-row-padding-block, 0);
  padding-inline: var(--accordion-row-padding-inline, 0);
}
.accordion--boxed details .details-content__inner {
  padding-block-start: 0;
  padding-block-end: var(--accordion-row-padding-block, 0);
  padding-inline: var(--accordion-row-padding-inline, 0);
}
.accordion-row-padding-sm {
  --accordion-row-padding-block: 1.2rem;
  --accordion-row-padding-inline: 2rem;
}
.accordion-row-padding-md {
  --accordion-row-padding-block: 1.6rem;
  --accordion-row-padding-inline: 2rem;
}
.accordion-row-padding-lg {
  --accordion-row-padding-block: 2rem;
  --accordion-row-padding-inline: 2rem;
}

@media screen and (min-width: 768px) {
  .accordion--boxed {
    gap: var(--accordion-gap, 8px);
  }
  .accordion--simple {
    gap: calc(var(--accordion-gap, 8px) - var(--gap-8) * 2);
  }
  .accordion--simple .details__header {
    padding-block: min(var(--accordion-gap, 8px) / 2, var(--gap-8));
  }
  .accordion--simple details .details-content__inner {
    padding-block-start: calc(var(--gap-8) - var(--accordion-gap, 8px));
  }
  .accordion--dividers {
    gap: 0;
  }
  .accordion--dividers .details__header {
    padding-block-start: var(--accordion-gap, 8px);
    padding-block-end: var(--accordion-gap, 8px);
  }
  .accordion--dividers .details-content__inner {
    padding-block-end: var(--accordion-gap, 8px);
  }
  .accordion-row-padding-lg {
    --accordion-row-padding-inline: 2.4rem;
  }
}
.accordion-menu .menu__list a {
  color: var(--menu-color, inherit);
  font-size: var(--menu-size, inherit);
  padding-block: calc(var(--menu-gap, 8px) / 2);
  display: block;
}

.accordion-menu .menu__list li:last-child a {
  padding-block-end: 0;
}
.accordion-menu .menu__list li:first-child a {
  padding-block-start: 0;
}

.tabs-nav {
  display: grid;
}
.tabs-nav__item.btn--outline {
  --color-outline-button-border: rgb(var(--color-outline-button-text-rgb) / 20%);
  --button-height: var(--control-height-sm);
  --button-height-mobile: var(--control-height-sm);
}
.tabs-nav__item.btn--outline.btn--selected {
  background-color: var(--color-primary-button-background);
  color: var(--color-primary-button-text);
  border-color: var(--color-primary-button-background);
}
@media (hover: hover) and (pointer: fine) {
  .tabs-nav__item.btn--outline:hover {
    background-color: var(--color-primary-button-background);
    color: var(--color-primary-button-text);
    border-color: var(--color-primary-button-background);
  }
}
.tabs-nav__item.btn--text {
  transition: opacity var(--animation-speed-slower) var(--animation-easing);
  opacity: 0.5;
}
.tabs-nav__item.btn--text.btn--selected {
  opacity: 1;
}
@media (hover: hover) and (pointer: fine) {
  .tabs-nav__item.btn--text:hover {
    opacity: 1;
  }
  .tabs-nav__item.btn--text:hover:not(.btn--selected)::after {
    width: 0;
  }
}
.tabs-nav .text-opacity-60 .btn--text:not(.btn--selected):not(:hover) {
  opacity: 0.6;
}
.tabs-nav__inner {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 1024px) {
  .tabs-nav__inner {
    display: grid;
    grid-auto-columns: max-content;
    grid-auto-flow: column;
    justify-content: safe start;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    overflow: auto hidden;
    margin-inline: calc(-1 * var(--page-padding));
    padding-inline: var(--page-padding);
    width: calc(100% + var(--page-padding) * 2);
  }
  .tabs-nav__inner::-webkit-scrollbar {
    display: none;
  }
}

.tab-style--icon {
  --tab-icon-bump: 0em;
  --tab-icon-size: calc(6em / 14 + var(--tab-icon-bump));
  --tab-icon-gap: calc(10em / 14);
  --tab-indent-size: calc(var(--tab-icon-size) + var(--tab-icon-gap));
}
@supports (width: round(1px, 1px)) {
  .tab-style--icon {
    --tab-icon-size: round(calc(6em / 14 + var(--tab-icon-bump)), 1px);
  }
}
.tab-style--icon .btn {
  --button-gap: var(--tab-icon-gap);
  border: none;
  border-radius: 0;
  min-height: auto;
  background-color: transparent;
  color: var(--color-subtle-button-text);
  width: fit-content;
  padding-block: 0.2rem;
  padding-inline: 0;
}
.tab-style--icon .btn:before {
  content: "";
  flex: none;
  width: var(--tab-icon-size);
  height: var(--tab-icon-size);
  background: currentColor;
  transition: opacity var(--animation-speed-slow) var(--animation-easing), scale var(--animation-speed-slow) var(--animation-easing);
}
.tab-style--icon .btn .tabs-nav__item-label {
  transition: opacity var(--animation-speed-slower) var(--animation-easing);
  opacity: 0.5;
}
.tab-style--icon .btn.btn--selected {
  background-color: transparent;
  border-color: transparent;
  color: var(--color-subtle-button-text);
}
.tab-style--icon .btn.btn--selected .tabs-nav__item-label {
  opacity: 1;
}
.tab-style--icon .btn:not(.btn--selected) {
  margin-inline-start: calc(-1 * var(--tab-indent-size));
}
.tab-style--icon .btn:not(.btn--selected):before {
  opacity: 0;
  scale: 0;
}
@media (hover: hover) and (pointer: fine) {
  .tab-style--icon .btn:hover {
    background-color: transparent;
    color: var(--color-subtle-button-text);
    border-color: transparent;
  }
  .tab-style--icon .btn:hover .tabs-nav__item-label {
    opacity: 1;
  }
}
.tab-style--icon.tab-icon--circle .btn:before {
  border-radius: 100%;
}
.tab-style--icon.tab-icon--diamond {
  --tab-icon-bump: calc(2em / 14);
}
.tab-style--icon.tab-icon--diamond .btn:before {
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
}

.tabs-content {
  width: 100%;
}

.tabs-content__item:not(.active) {
  display: none;
}

.tabs-fade .tabs-content {
  position: relative;
}
.tabs-fade .tabs-content::before {
  content: "";
  height: 0;
  display: block;
  padding-top: calc(100% / (0 + var(--ratio, 1)));
}
.tabs-fade .tabs-content .tabs-content__item {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease-in-out;
  z-index: -1;
}
.tabs-fade .tabs-content .tabs-content__item.active {
  opacity: 1;
  pointer-events: auto;
  z-index: 1;
}

button,
.btn {
  font-size: var(--button-font-size);
  background: var(--color-primary-button-background);
  color: var(--color-primary-button-text);
  font-family: var(--button-font-family);
  font-weight: var(--button-font-weight);
  font-style: var(--button-font-style);
  letter-spacing: var(--button-letter-spacing);
  text-transform: var(--button-text-transform);
  min-height: var(--button-height, 4.8rem);
  padding: var(--button-padding-y, 0.6rem) var(--button-padding-x, calc(var(--button-height, 4.8rem) / 2));
  border-radius: var(--button-radius);
  border: var(--button-border-width, var(--button-solid-border-width)) solid var(--color-primary-button-background);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--button-gap, 0.8rem);
  cursor: pointer;
  transition: background var(--animation-speed-slower) var(--animation-easing), color var(--animation-speed-slower) var(--animation-easing), border-color var(--animation-speed-slower) var(--animation-easing);
  text-align: center;
  line-height: normal;
}
button[disabled], button[aria-disabled=true],
.btn[disabled],
.btn[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
button[href=""],
.btn[href=""] {
  opacity: 0.5;
  cursor: not-allowed;
}
button .svg-icon,
.btn .svg-icon {
  font-size: var(--button-icon-size, 1.6rem);
}

button[hidden] {
  display: none;
}

.btn--secondary {
  background: var(--color-secondary-button-background);
  color: var(--color-secondary-button-text);
  border-color: var(--color-secondary-button-background);
}
.btn--light {
  background: var(--color-light-button-background, #ffffff);
  color: var(--color-light-button-text, #1C1C1C);
  border-color: var(--color-light-button-background, #ffffff);
}
.btn--outline {
  --button-border-width: var(--button-outline-border-width);
  background-color: transparent;
  color: var(--color-outline-button-text);
  border-color: var(--color-outline-button-border);
}
.btn--outline.btn--selected {
  background-color: var(--color-outline-button-hover-background);
  color: var(--color-outline-button-hover-text);
  border-color: var(--color-outline-button-hover-border);
}
.btn--subtle {
  border: none;
  border-radius: 0;
  min-height: auto;
  --button-padding-y: 0.3rem;
  --button-padding-x: 0;
  background-color: transparent;
  color: var(--color-subtle-button-text);
  width: fit-content;
  transition: none;
}
.btn--subtle:after,
.btn--subtle .btn__text:after {
  content: "";
  width: 100%;
  height: 1px;
  background: currentColor;
  position: absolute;
  inset-inline-start: 0;
  bottom: 0;
  transform: scaleX(1);
  transform-origin: var(--transform-origin-end);
}
.btn--subtle .btn__text {
  position: relative;
  padding-block: 0.3rem;
  display: flex;
  align-items: center;
}
.btn--subtle:has(.btn__text):after {
  display: none;
}
.btn--nowrap {
  white-space: nowrap;
}
.btn--text {
  border: none;
  border-radius: 0;
  min-height: auto;
  padding-block: 0.5rem;
  padding-inline: 0;
  background-color: transparent;
  color: var(--color-subtle-button-text);
  width: fit-content;
  --button-text-width-hover: 100%;
  transition: none;
}
.btn--text:after,
.btn--text .btn__text:after {
  content: "";
  width: 0;
  height: 1px;
  background: currentColor;
  position: absolute;
  inset-inline-end: 0;
  bottom: 0;
  transition: width var(--animation-speed-slow) var(--animation-easing);
}
.btn--text.btn--no-underline:after,
.btn--text.btn--no-underline .btn__text:after {
  display: none;
}
.btn--text .btn__text {
  padding-block: 0.3rem;
}
.btn--text:has(.btn__text) {
  padding-block: 0.3rem;
}
.btn--text:has(.btn__text):after {
  display: none;
}
.btn--text.btn--active, .btn--text.btn--selected {
  background-color: transparent;
  color: var(--color-subtle-button-text);
}
.btn--text.btn--active:after,
.btn--text.btn--active .btn__text:after, .btn--text.btn--selected:after,
.btn--text.btn--selected .btn__text:after {
  width: var(--button-text-width-hover);
  inset-inline-start: 0;
  inset-inline-end: auto;
}
.btn--text.btn--nowrap {
  white-space: nowrap;
}
.btn__text {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--button-gap, 0.8rem);
}
.btn__text:not(:has(svg)) {
  --button-gap: 0;
}
.btn--icon-left {
  flex-direction: row-reverse;
}
.btn--icon {
  min-width: var(--button-height, 4.8rem);
  padding: 0;
}
.btn--icon.btn--subtle {
  min-width: auto;
  --button-padding-y: 0.6rem;
  --button-padding-x: 0.6rem;
}
.btn--icon.btn--subtle:after {
  display: none;
}
.btn--custom {
  --button-border-width: var(--button-outline-border-width);
  background: var(--color-button-background);
  color: var(--color-button-text);
  border-color: var(--color-button-border);
}
.btn--unstyled {
  font-size: var(--font-body-size);
  background: transparent;
  color: var(--color-foreground);
  font-family: var(--font-body-family);
  font-weight: var(--font-body-weight);
  font-style: var(--font-body-style);
  line-height: var(--font-body-line-height);
  letter-spacing: var(--letter-spacing-normal);
  text-transform: none;
  min-height: unset;
  padding: 0;
  border-radius: 0;
  border: none;
  gap: var(--button-gap, 0.8rem);
  cursor: pointer;
  transition: none;
  text-align: center;
}
.btn--unstyled[hidden] {
  display: none;
}
.btn--unstyled.body-typography {
  color: var(--color-foreground);
}
.btn--preset-height {
  min-height: var(--button-height, 4.8rem);
}
.btn--2xs {
  min-height: var(--control-height-2xs, 3rem);
  min-width: var(--control-height-2xs, 3rem);
}
.btn--medium {
  --button-icon-size: 1.6rem;
  --button-height: 4rem;
  --button-height-mobile: 4rem;
  min-height: 4rem;
}
.btn--medium .bouncing-dots {
  gap: 0.4rem;
}
.btn--small {
  --button-icon-size: 1.4rem;
  --button-height: 3.4rem;
  --button-height-mobile: 3.4rem;
  min-height: 3.4rem;
}

.btn--heading-typography {
  --button-font-family: var(--font-heading-family);
  --button-font-weight: var(--font-heading-weight);
  --button-font-style: var(--font-heading-style);
}

.btn--body-typography {
  --button-font-family: var(--font-body-family);
  --button-font-weight: var(--font-body-weight);
  --button-font-style: var(--font-body-style);
}

.btn--accent-typography {
  --button-font-family: var(--font-accent-family);
  --button-font-weight: var(--font-accent-weight);
  --button-font-style: var(--font-accent-style);
}

.btn--loading {
  pointer-events: none;
}
.btn--loading > *:not(.bouncing-dots, .spinner, .loading-spinner) {
  opacity: 0;
}
.btn--loading .bouncing-dots, .btn--loading .spinner, .btn--loading .loading-spinner {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 1;
}
.btn--loading .bouncing-dots span, .btn--loading .spinner span, .btn--loading .loading-spinner span {
  background-color: currentColor;
}
.btn--loading .loading-spinner {
  display: block;
}
.btn--loading.btn--subtle {
  min-height: 4rem;
  min-width: 4rem;
}
.btn--loading.btn--subtle:after {
  display: none;
}
.btn--loading.btn--subtle.btn--small {
  min-height: var(--button-height);
  min-width: var(--button-height);
}

.btn--icon .bouncing-dots {
  gap: 0.4rem;
}
.btn--icon .bouncing-dots span {
  width: 0.6rem;
  height: 0.6rem;
}

button.shopify-payment-button__button--unbranded {
  --button-border-width: var(--button-solid-border-width);
  background: var(--color-primary-button-background);
  color: var(--color-primary-button-text);
  border: var(--button-border-width) solid var(--color-primary-button-background);
  padding: var(--button-padding-y, 0.8rem) var(--button-padding-x, calc(var(--button-height, 4.8rem) / 2));
  transition: background var(--animation-speed-slower) var(--animation-easing), color var(--animation-speed-slower) var(--animation-easing), border-color var(--animation-speed-slower) var(--animation-easing);
}
button.shopify-payment-button__button--unbranded:hover:not([disabled]) {
  background-color: var(--color-primary-button-background);
}

button.shopify-payment-button__button {
  font-size: var(--button-font-size);
  font-weight: var(--button-font-weight);
}

shopify-accelerated-checkout, shopify-accelerated-checkout-cart {
  --shopify-accelerated-checkout-button-border-radius: var(--button-radius);
  --shopify-accelerated-checkout-button-block-size: var(--button-height);
}

@media only screen and (min-width: 768px) {
  .btn--nowrap[style*="--width: fit-content"] {
    white-space: nowrap;
  }
}
@media only screen and (max-width: 767px) {
  .btn,
  button {
    min-height: var(--button-height-mobile, var(--button-height));
    --button-padding-x: calc(var(--button-height-mobile, var(--button-height)) / 2);
  }
  .btn .svg-icon,
  button .svg-icon {
    font-size: var(--button-icon-size-mobile, var(--button-icon-size));
  }
  .btn--nowrap[style*="--width-mobile: fit-content"] {
    white-space: nowrap;
  }
  .btn--subtle,
  .btn--text {
    --button-padding-x: 0;
    min-height: auto;
  }
  .btn--icon {
    min-width: var(--button-height-mobile, var(--button-height));
    padding: 0;
  }
  shopify-accelerated-checkout, shopify-accelerated-checkout-cart {
    --shopify-accelerated-checkout-button-block-size: var(--button-height-mobile, 4.8rem);
  }
  .btn--unstyled {
    min-height: auto;
    padding: 0;
  }
  .btn--preset-height {
    min-height: var(--button-height-mobile, var(--button-height));
  }
}
@media (hover: hover) and (pointer: fine) {
  .btn:not(:where(.btn--unstyled)):hover,
  button:not(:where(.btn--unstyled)):hover {
    background: var(--color-primary-button-hover-background);
    color: var(--color-primary-button-hover-text);
    border-color: var(--color-primary-button-hover-border);
  }
  .btn.color-heading-hover:hover,
  button.color-heading-hover:hover {
    color: var(--color-heading);
  }
  button.shopify-payment-button__button--unbranded:hover, button.shopify-payment-button__button--unbranded:hover:not([disabled]) {
    background: var(--color-primary-button-hover-background);
    color: var(--color-primary-button-hover-text);
    border-color: var(--color-primary-button-hover-border);
  }
  .btn--secondary:hover {
    background: var(--color-secondary-button-hover-background);
    color: var(--color-secondary-button-hover-text);
    border-color: var(--color-secondary-button-hover-border);
  }
  .btn--light:hover {
    background: var(--color-primary-button-background);
    color: var(--color-primary-button-text);
    border-color: var(--color-primary-button-background);
  }
  .btn--outline:hover {
    background: var(--color-outline-button-hover-background);
    color: var(--color-outline-button-hover-text);
    border-color: var(--color-outline-button-hover-border);
  }
  .btn--subtle:hover {
    background-color: transparent;
    color: var(--color-subtle-button-text);
  }
  .btn--subtle:hover:after,
  .btn--subtle:hover .btn__text:after {
    transform: scaleX(1);
    transform-origin: var(--transform-origin-start);
    animation: text-underlined 0.6s;
  }
  .btn--text:hover {
    background-color: transparent;
    color: var(--color-subtle-button-text);
  }
  .btn--text:hover:after,
  .btn--text:hover .btn__text:after {
    width: var(--button-text-width-hover);
    inset-inline-start: 0;
    inset-inline-end: auto;
  }
  .btn--unstyled:hover {
    background-color: transparent;
    color: var(--color-foreground);
  }
  .btn--custom:hover {
    background: var(--color-button-hover-background);
    color: var(--color-button-hover-text);
    border-color: var(--color-button-hover-border);
  }
}
.button-shopify-xr[data-shopify-xr-hidden] {
  display: none;
}

.button-shopify-xr {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Show more */
.show-more[data-expanded=true] .show-more__label--more,
.show-more[data-expanded=false] .show-more__label--less {
  display: none;
}

.button-text--left .btn {
  justify-content: start;
}

.button-text--right .btn {
  justify-content: end;
}

.btn.color-heading,
button.color-heading {
  color: var(--color-heading);
}
.btn.color-text,
button.color-text {
  color: var(--color-foreground);
}

.button-block:has(.btn--text.btn--icon), .button-block:has(.btn--subtle.btn--icon) {
  display: flex;
}
.button-block .btn--text.btn--icon,
.button-block .btn--subtle.btn--icon {
  min-width: 2.4rem;
  min-height: 2.4rem;
}
.button-block .btn--text.btn--icon:after,
.button-block .btn--subtle.btn--icon:after {
  display: none;
}

.view-details-button-block .btn {
  width: auto;
}

.text-block {
  text-align: var(--text-align, var(--text-align-default, inherit));
}
.text-block--opacity {
  opacity: var(--opacity, 100%);
}
.text-block--outline {
  -webkit-text-stroke: 1px currentColor;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 767px) {
  .text-block {
    text-align: var(--text-align-mobile, var(--text-align, var(--text-align-default, inherit)));
  }
}

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

.subheading-content {
  gap: 1.2rem;
  color: var(--color-foreground);
  justify-content: var(--text-align, var(--text-align-default));
}
@media (max-width: 767px) {
  .subheading-content {
    justify-content: var(--text-align-mobile, var(--text-align, var(--text-align-default)));
  }
}
.subheading-content.has-background {
  padding: 1rem 1.4rem;
  gap: 1rem;
}
@media (max-width: 767px) {
  .subheading-content.has-background {
    padding: 0.8rem 1.2rem;
    gap: 0.6rem;
  }
}
.subheading-content .subheading-content-text {
  line-height: 1;
}
.subheading-content__icon {
  display: inline-flex;
}
.subheading-content__icon svg {
  width: 0.5em;
  height: auto;
}
.subheading-content__icon--diamond svg {
  width: 0.6em;
}
.subheading-content__icon--sparkle svg {
  width: 0.9em;
}
.subheading-content__icon--line svg {
  width: 1px;
  height: 1em;
}

.pills__pill {
  display: flex;
  align-items: center;
  gap: var(--gap-8);
  background-color: var(--color-background-gray-600);
  border: none;
  transition: background-color var(--animation-speed) var(--animation-easing);
  min-height: 3.4rem;
  padding: 0.6rem 1.2rem;
  border-radius: var(--pills-border-radius);
  line-height: 1;
  white-space: nowrap;
}
.pills__pill .svg-icon {
  font-size: 1.2rem;
}
.pills__pill-small {
  padding: 0 0.8rem;
  gap: 0.4rem;
  font-size: var(--font-size-sm);
  min-height: 2.1rem;
}
.pills__pill-icon {
  padding-inline-start: 0.2rem;
  transform: translateY(1px);
}
@media (hover: hover) and (pointer: fine) {
  .pills__pill:is(button, a[href]):hover {
    cursor: pointer;
    background-color: rgb(var(--color-foreground-rgb)/10%);
  }
}

.icon-block {
  color: var(--color-icon, var(--color-heading));
  font-size: var(--icon-size, 2.4rem);
}
.icon-block > reveal-component {
  display: flex;
}
.icon-block .placeholder-image {
  width: var(--icon-width, 2.4rem);
  height: var(--icon-width, 2.4rem);
}

@media (max-width: 767px) {
  .icon-block--custom-mobile {
    font-size: var(--icon-size-mobile, var(--icon-size, 2.4rem));
  }
  .icon-block--custom-mobile .placeholder-image {
    width: var(--icon-width-mobile, var(--icon-width, 2.4rem));
    height: var(--icon-width-mobile, var(--icon-width, 2.4rem));
  }
  .icon-block--custom-mobile .social-icons__icon-wrapper {
    padding: var(--icon-padding-mobile, var(--icon-padding, 8px));
  }
}
.svg-icon {
  display: inline-flex;
}
.svg-icon svg {
  width: 1em;
  height: 1em;
}
.svg-icon--size-xs {
  --button-icon-size: 1.2rem;
  --summary-icon-size: 1.2rem;
  font-size: var(--button-icon-size);
}
.svg-icon--size-sm {
  --button-icon-size: 1.4rem;
  --summary-icon-size: 1.4rem;
  font-size: var(--button-icon-size);
}
.svg-icon--size-md {
  --button-icon-size: 1.6rem;
  --summary-icon-size: 1.6rem;
  font-size: var(--button-icon-size);
}
.svg-icon--size-lg {
  --button-icon-size: 1.8rem;
  --summary-icon-size: 1.8rem;
  font-size: var(--button-icon-size);
}
.svg-icon--size-xl {
  --button-icon-size: 2rem;
  --summary-icon-size: 2rem;
  font-size: var(--button-icon-size);
}
.svg-icon--size-xxl {
  --button-icon-size: 2.4rem;
  --summary-icon-size: 2.4rem;
  font-size: var(--button-icon-size);
}
.svg-icon--em-xs {
  font-size: 0.6em;
}
.svg-icon--4_stars svg, .svg-icon--5_stars svg {
  height: auto;
}

/* Shared plus/minus icon animations */
summary .icon-plus :is(.horizontal, .vertical) {
  transform: rotate(0deg);
  transform-origin: 50% 50%;
  opacity: 1;
}

details[open] > summary .icon-plus .horizontal {
  transform: rotate(90deg);
}

details[open] > summary .icon-plus .vertical {
  transform: rotate(90deg);
  opacity: 0;
}

summary .icon-chevron > svg {
  transform: scaleY(1);
}

details[open] > summary .icon-animated > svg {
  transform: scaleY(-1);
}

.icon-animated svg {
  transition: transform 0.5s cubic-bezier(0.3, 1, 0.3, 1);
}

.placeholder-image {
  display: flex;
  width: 100%;
  height: 100%;
  background-color: var(--color-background);
  position: relative;
}
.placeholder-image:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.4);
  z-index: 1;
}
.placeholder-image:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(var(--color-foreground-rgb)/8%);
  z-index: 1;
}
.placeholder-image svg {
  width: 100%;
  height: 100%;
  fill: rgb(var(--color-foreground-rgb)/30%);
  display: flex;
}

.placeholder-video {
  aspect-ratio: var(--video-aspect-ratio);
}

:is(deferred-media, product-model) {
  display: block;
  position: relative;
  line-height: 1;
}
:is(deferred-media, product-model) > .deferred-media__poster-button ~ *:not(template), :is(deferred-media, product-model) > .deferred-media__poster-button .deferred-media__poster-button--toggle {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: var(--video-object-fit, cover);
  aspect-ratio: var(--video-aspect-ratio);
}
:is(deferred-media, product-model) .deferred-media__poster-button--toggle {
  cursor: pointer;
  display: block;
  z-index: 10;
  opacity: 0;
  transition: opacity var(--animation-speed-slower) var(--animation-easing);
  display: none;
}
@media (hover: none) {
  :is(deferred-media, product-model) .deferred-media__poster-button--toggle {
    opacity: 1;
  }
}
:is(deferred-media, product-model) .deferred-media__poster-button--toggle .deferred-media__poster-icon.hidden {
  display: none;
}
@media (hover: hover) and (pointer: fine) {
  :is(deferred-media, product-model):hover .deferred-media__poster-button--toggle {
    opacity: 1;
  }
  :is(deferred-media, product-model):hover .deferred-media__poster-icon {
    transform: translate(-50%, -50%) scale(var(--scale-transform));
  }
}
:is(deferred-media, product-model)[data-autoplay] .deferred-media__poster-icon {
  opacity: 0;
}
:is(deferred-media, product-model)[data-autoplay] .deferred-media__poster-button--toggle .deferred-media__poster-icon {
  opacity: 1;
}
:is(deferred-media, product-model)[data-media-loaded=true] .deferred-media__poster-button--toggle {
  display: block;
}
:is(deferred-media, product-model)[data-media-loaded=true] .deferred-media__poster-icon {
  opacity: 0;
}
:is(deferred-media, product-model) iframe {
  width: 100%;
  height: 100%;
  border: none;
  aspect-ratio: var(--video-aspect-ratio, auto);
  border-radius: var(--media-border-radius, 0);
}

:is(deferred-media) video,
:is(deferred-media) iframe {
  opacity: 0;
  transition: opacity var(--animation-speed-slower) var(--animation-easing);
}
:is(deferred-media)[data-autoplay] video {
  transition: none;
}
:is(deferred-media) .deferred-media__poster-image {
  transition: opacity var(--animation-speed-slower) var(--animation-easing);
  transition-delay: var(--animation-speed-slow);
}
:is(deferred-media).deferred-media--loaded video,
:is(deferred-media).deferred-media--loaded iframe {
  opacity: 1;
}
:is(deferred-media).deferred-media--loaded .deferred-media__poster-button {
  background-color: transparent;
  pointer-events: none;
}
:is(deferred-media).deferred-media--playing .deferred-media__poster-image {
  opacity: 0;
}

.deferred-media__poster-icon {
  --icon-size: 2rem;
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--padding, 1.8rem);
  font-size: var(--icon-size, 2rem);
  background: var(--color-play-button-background, #fff);
  color: var(--color-play-button-text, #3b3b3b);
  transition: transform var(--animation-speed-slow) var(--animation-easing);
}
.deferred-media__poster-icon .svg-icon {
  font-size: inherit;
}
.deferred-media__poster-icon:not(.container-border-radius) {
  --border-radius: 50%;
  border-radius: var(--border-radius, 50%);
}

@media (max-width: 767px) {
  .deferred-media__poster-icon {
    padding: var(--padding-mobile, var(--padding, 1.8rem));
    font-size: var(--icon-size-mobile, var(--icon-size, 2rem));
  }
}
.deferred-media__poster-button {
  width: 100%;
  height: 100%;
  aspect-ratio: var(--video-aspect-ratio);
  background-color: rgb(var(--color-foreground-rgb)/6%);
  border: none;
}
.deferred-media__poster-button:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(var(--color-background-rgb)/18%);
}

deferred-media,
product-model {
  /* The overflow hidden in the deferred-media won't let the button show the focus ring */
}
deferred-media:has(:focus-visible),
product-model:has(:focus-visible) {
  outline: var(--focus-outline-width, 0.2rem) solid var(--color-keyboard-focus, #0B61CD);
  outline-offset: var(--focus-outline-offset, 0.3rem);
}
@supports not selector(:focus-visible) {
  deferred-media:has(:focus),
  product-model:has(:focus) {
    outline: var(--focus-outline-width, 0.2rem) solid var(--color-keyboard-focus, #0B61CD);
    outline-offset: var(--focus-outline-offset, 0.3rem);
  }
}

.deferred-media__poster-image {
  aspect-ratio: var(--video-aspect-ratio);
  object-fit: cover;
  object-position: center;
  height: 100%;
  width: 100%;
  position: relative;
}

product-model model-viewer {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  padding: inherit;
}

product-model:has(model-viewer) .deferred-media__poster-button {
  opacity: 0;
  visibility: hidden;
}

.image-component {
  aspect-ratio: var(--ratio, auto);
  background-color: rgb(var(--color-foreground-rgb)/6%);
  position: relative;
}
.image-component:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(var(--color-background-rgb)/18%);
}
@media only screen and (max-width: 767px) {
  .image-component {
    aspect-ratio: var(--ratio-mobile, var(--ratio, auto));
  }
}
.image-component:has(img[src*=".png"]) {
  background-color: transparent;
}
.image-component:has(img[src*=".png"]):before {
  display: none;
}
.image-component.loaded {
  background-color: transparent;
}
.image-component.loaded:before {
  display: none;
}
.image-component:not(.loaded) {
  font-size: 0;
}
.image-component:not(.loaded) img {
  position: relative;
}

@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .image-zoom-hover .zoom-hover {
    --image-zoom-hover-scale: 1.06;
    --zoom-hover-scale: 1;
  }
  .image-zoom-hover .zoom-hover:hover {
    --zoom-hover-scale: var(--image-zoom-hover-scale);
  }
  .image-zoom-hover .zoom-hover .image-component {
    overflow: hidden;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
  }
  .image-zoom-hover .zoom-hover .image-component img {
    transform: scale(var(--zoom-hover-scale, 1));
    transition: transform 0.5s cubic-bezier(0.2, 0.75, 0.5, 1);
    will-change: transform;
  }
  .image-zoom-hover .zoom-hover-skip {
    --zoom-hover-scale: 1;
  }
  .image-zoom-hover .zoom-hover:has(.background-media-container):hover {
    --zoom-hover-scale: 1;
  }
  .image-zoom-hover .zoom-hover:has(.background-media-container):hover .background-media-container {
    --zoom-hover-scale: var(--image-zoom-hover-scale);
  }
  .image-zoom-hover .zoom-hover--sm {
    --image-zoom-hover-scale: 1.08;
  }
  .image-zoom-hover .zoom-hover--lg {
    --image-zoom-hover-scale: 1.04;
  }
}
@media only screen and (min-width: 768px) {
  .media-block--fill-height {
    height: auto;
    align-self: stretch;
    position: relative;
    min-height: 10rem;
  }
  .media-block--fill-height > * {
    height: 100%;
    position: absolute;
    inset: 0;
  }
  .media-block--fill-height img,
  .media-block--fill-height deferred-media,
  .media-block--fill-height .video-placeholder-wrapper {
    height: 100%;
  }
}

.shopify-section:has(media-parallax[data-parallax-effect=fixed]) {
  clip-path: inset(0);
}

media-parallax {
  display: block;
  background-color: rgb(var(--color-foreground-rgb)/6%);
  overflow: hidden;
}
media-parallax:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(var(--color-background-rgb)/18%);
}
media-parallax > * {
  opacity: 0;
}
media-parallax.loaded {
  background-color: transparent;
}
media-parallax.loaded:before {
  display: none;
}
media-parallax.loaded > * {
  opacity: 1;
}
media-parallax.loaded img,
media-parallax.loaded deferred-media,
media-parallax.loaded iframe,
media-parallax.loaded svg {
  transition: none;
}
media-parallax.loaded:not([data-parallax-effect=fixed]) img,
media-parallax.loaded:not([data-parallax-effect=fixed]) deferred-media,
media-parallax.loaded:not([data-parallax-effect=fixed]) iframe,
media-parallax.loaded:not([data-parallax-effect=fixed]) svg {
  will-change: transform;
}
media-parallax[data-parallax-effect=fixed] > * {
  opacity: 1;
}
media-parallax[data-parallax-effect=fixed] img,
media-parallax[data-parallax-effect=fixed] deferred-media,
media-parallax[data-parallax-effect=fixed] svg,
media-parallax[data-parallax-effect=fixed] .image-component img {
  position: fixed;
  inset-block-start: 0;
  inset-inline-start: 0;
  height: 100lvh;
}

html[scroll-lock] media-parallax[data-parallax-effect=fixed] img,
html[scroll-lock] media-parallax[data-parallax-effect=fixed] deferred-media,
html[scroll-lock] media-parallax[data-parallax-effect=fixed] svg {
  width: calc(100% - var(--scrollbar-width, 0px));
}

.placeholder-svg {
  background-color: var(--color-background-gray-600);
  color: rgb(var(--color-foreground-rgb)/50%);
  fill: rgb(var(--color-foreground-rgb)/50%);
  vertical-align: middle;
  width: 100%;
  height: 100%;
}

@media only screen and (max-width: 767px) {
  picture.object-position-mobile img {
    object-position: var(--object-position-mobile) !important;
  }
}

picture img {
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .media--auto-height {
    min-height: var(--media-height, 0px);
  }
  .media--auto-height .image-component {
    position: absolute;
    inset: 0;
    height: 100%;
  }
  .media--auto-height .image-component img {
    height: 100%;
    object-fit: cover;
  }
}
@media only screen and (min-width: 768px) {
  .media--height-adapt {
    position: relative;
  }
  .media--height-adapt:before {
    content: "";
    display: block;
    padding-top: calc(100% / (var(--ratio, 1)));
  }
  .media--height-full-screen {
    min-height: calc(100svh - var(--header-sticky-height, 0px) - var(--sticky-offset-spacing, 0px));
  }
  .shopify-section:first-child .media--height-full-screen {
    min-height: calc(100svh - var(--offset-top-height, 0px));
  }
  .shopify-section:first-child .allow-transparent-header .media--header-offset {
    padding-top: var(--header-height, 0px);
  }
  .media--height-fill {
    height: auto;
    align-self: stretch;
  }
  .layout-flex--column > .media--height-fill {
    flex: 1;
  }
  .media--height-30rem {
    min-height: 30rem;
  }
  .media--height-40rem {
    min-height: 40rem;
  }
  .media--height-50rem {
    min-height: 50rem;
  }
  .media--height-55rem {
    min-height: 55rem;
  }
  .media--height-60rem {
    min-height: 60rem;
  }
  .media--height-65rem {
    min-height: 65rem;
  }
  .media--height-70rem {
    min-height: 70rem;
  }
  .media--height-80rem {
    min-height: 80rem;
  }
  .media--height-90rem {
    min-height: 90rem;
  }
}
@media only screen and (max-width: 767px) {
  .media--height-mobile-adapt {
    position: relative;
  }
  .media--height-mobile-adapt:before {
    content: "";
    display: block;
    padding-top: calc(100% / (var(--ratio-mobile, var(--ratio, 1))));
  }
  .media--height-mobile-full-screen {
    min-height: calc(100svh - var(--offset-top-height, 0px));
  }
  .shopify-section:first-child .media--height-mobile-full-screen {
    min-height: calc(100svh - var(--offset-top-height, 0px));
  }
  .shopify-section:first-child .allow-transparent-header .media--header-offset {
    padding-top: var(--header-height, 0px);
  }
  .media--height-mobile-fill {
    height: auto;
    align-self: stretch;
  }
  .layout-flex--column-mobile > .media--height-mobile-fill {
    flex: 1;
  }
  .media--height-mobile-30rem {
    min-height: 30rem;
  }
  .media--height-mobile-40rem {
    min-height: 40rem;
  }
  .media--height-mobile-50rem {
    min-height: 50rem;
  }
  .media--height-mobile-55rem {
    min-height: 55rem;
  }
  .media--height-mobile-60rem {
    min-height: 60rem;
  }
  .media--height-mobile-65rem {
    min-height: 65rem;
  }
  .media--height-mobile-70rem {
    min-height: 70rem;
  }
  .media--height-mobile-80rem {
    min-height: 80rem;
  }
  .media--height-mobile-90rem {
    min-height: 90rem;
  }
}
reveal-component {
  display: block;
  opacity: 0;
  -webkit-font-smoothing: antialiased;
}
@media (prefers-reduced-motion: reduce) {
  reveal-component {
    opacity: 1;
  }
}
reveal-component[data-name=rotate-words] .word-reveal {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% + 7px), 0 calc(100% + 7px));
  clip-path: polygon(0 0, 100% 0, 100% calc(100% + 7px), 0 calc(100% + 7px));
  display: inline-block;
  opacity: 0;
  transition: opacity 0s ease var(--animation-delay, 0ms);
}
reveal-component[data-name=rotate-words] .word-reveal__text {
  display: inline-block;
  transform: translateY(100%);
}
reveal-component[data-name=rotate-words] a .word-reveal,
reveal-component[data-name=rotate-words] a .word-reveal__text {
  text-decoration: inherit;
}
reveal-component[data-name=rotate-words].animated {
  opacity: 1;
  transition-delay: var(--animation-delay, 0ms);
}
reveal-component[data-name=rotate-words].animated .word-reveal {
  opacity: 1;
}
reveal-component[data-name=rotate-words].animated .word-reveal__text {
  animation: reveal-rotate-words 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  animation-delay: var(--animation-delay, 0ms);
}

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

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

.rte :where(img, iframe) {
  display: inline-block;
}

.rte :where(h1, h2, h3, h4, h5, h6) {
  margin-bottom: 0.4em;
  margin-top: 2.8rem;
}

.rte p {
  margin-bottom: var(--paragraph-bottom-spacing, 1.4rem);
  margin-top: var(--paragraph-top-spacing, 1.4rem);
}
.rte p:first-child {
  margin-top: 0;
}
.rte p:last-child {
  margin-bottom: 0;
}

.rte iframe {
  max-width: 100%;
  border-radius: 0.4rem;
  border: none;
}

.rte img {
  border-radius: 0.4rem;
}

.rte :where(ul, ol) {
  margin-block-start: 0;
  padding-inline-start: 0;
  list-style-position: inside;
}
.rte :where(ul, ol).liststyle-none {
  list-style: none;
  padding: 0;
}
.rte :where(ul, ol) :where(h1, h2, h3, h4, h5, h6) {
  display: inline-block;
  margin: 0;
}

:is(.rte) :is(ul, ol):not(:is(ul, ol) :is(ul, ol)) {
  margin-block-end: 1em;
}

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

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

.rte li {
  list-style: inherit;
  margin-block-end: 0.3em;
}
.rte li:last-child {
  margin-block-end: 0;
}

.rte a {
  text-underline-offset: 0.3rem;
  text-decoration-thickness: 0.1rem;
  text-decoration-line: underline;
}

.rte blockquote {
  display: inline-flex;
  border-radius: 0.4rem;
  padding: 1em;
  margin-inline-start: 0;
  margin-inline-end: 0;
  margin-block-start: 1.5em;
  margin-block-end: 1.5em;
  background-color: var(--color-background-gray-600);
  border-inline-start: 0.2rem solid;
  font-size: 1.2em;
  color: var(--color-heading);
}

.rte .rte-table-wrapper {
  width: calc(100vw - var(--page-padding) * 2 - var(--scrollbar-width));
  overflow-x: auto;
}
.rte .rte-table-wrapper table {
  width: max-content;
  border-collapse: collapse;
  border-radius: 0.4rem;
}
.rte .rte-table-wrapper table td, .rte .rte-table-wrapper table th {
  white-space: nowrap;
}
@media (min-width: 768px) {
  .rte .rte-table-wrapper {
    width: 100%;
  }
}

.product-description:has(rte-formatter table) {
  width: 100%;
}
.product-description:has(rte-formatter table) .rte-table-wrapper {
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .sticky-content-active {
    position: sticky;
    top: var(--sticky-content-current-top);
    transition: top 0.2s;
  }
  body:has(.header-section.header-sticky--scroll_up) .sticky-content-active[data-sticky-size=fit] {
    transition: top 0.5s cubic-bezier(0.6, 0, 0.4, 1);
  }
  body:has(.header-section.header-sticky--top_only) .sticky-content-active[data-sticky-size=fit],
  body:has(.header-section.header-sticky--bottom_only) .sticky-content-active[data-sticky-size=fit] {
    transition: top 0.3s cubic-bezier(0.6, 0, 0.4, 1);
  }
}
@media only screen and (min-width: 1025px) {
  .sticky-offset {
    --sticky-offset-spacing: 2rem;
    position: sticky;
    top: calc(var(--header-sticky-content, 0px) + var(--sticky-offset-spacing, 0px));
    transition: var(--header-sticky-content-transition, top 0.3s);
  }
  .sticky-offset.sticky-offset-bottom {
    bottom: var(--sticky-offset-spacing, 0px);
  }
  @supports (overflow-x: clip) {
    .swiper-component:not(.swiper-component--overflow) .swiper:has(.sticky-offset) {
      overflow-x: clip;
      overflow-y: visible;
    }
  }
  @supports not (overflow-x: clip) {
    .swiper-component:not(.swiper-component--overflow) .swiper .sticky-offset {
      position: static;
    }
  }
}
/* Table */
table {
  border-collapse: collapse;
  border-color: inherit;
  text-indent: 0;
}

table:not([class]) {
  border-style: hidden;
  border: 1px solid rgb(var(--color-foreground-rgb)/20%);
}

table:not([class]) td,
table:not([class]) th {
  padding: 1rem 1.4rem;
  border: 0.1rem solid rgb(var(--color-foreground-rgb)/20%);
}

.form__wrapper {
  display: flex;
  flex-direction: var(--form-direction, column);
  gap: var(--form-gap, 1.6rem);
}
.form__error, .form__success {
  display: flex;
  gap: var(--gap-8);
}
.form__error .svg-icon, .form__success .svg-icon {
  font-size: var(--font-size-xl);
  padding-top: 0.2rem;
}
.form__error.form-fs-sm, .form__success.form-fs-sm {
  font-size: var(--font-size-sm);
  gap: var(--gap-6);
}
.form__error.form-fs-sm .svg-icon, .form__success.form-fs-sm .svg-icon {
  font-size: var(--font-size-lg);
}
.form__error-list, .form__success-list {
  display: flex;
  flex-direction: column;
  gap: var(--gap-8);
}
.form__error-list ul, .form__success-list ul {
  list-style: disc;
  padding-inline-start: 5rem;
}
.form__error-list ul li, .form__success-list ul li {
  list-style: disc;
  display: list-item;
}
.form__error-list ul li .svg-icon, .form__success-list ul li .svg-icon {
  display: none;
}
.form__error-list ul li > span, .form__success-list ul li > span {
  padding-inline-end: 0.5rem;
}
.form__error-list--auto:has(li:only-child) .form__error-heading {
  display: none;
}
.form__error-list--auto:has(li:only-child) ul {
  padding-inline-start: 0;
}
.form__error-list--auto:has(li:only-child) ul li {
  list-style: none;
  display: inline-flex;
  gap: 0;
}
.form__error-list--auto:has(li:only-child) ul li .svg-icon {
  display: inline-flex;
  padding-inline-end: 0.8rem;
}
.form__fields {
  display: flex;
  flex-direction: column;
  gap: var(--fields-gap, 1.6rem);
}
.form__field {
  display: flex;
  position: relative;
  width: 100%;
  flex-direction: column;
}
.form__field.hidden {
  display: none;
}
.form__group {
  display: flex;
  align-items: center;
  gap: var(--fields-gap, 1.6rem);
}
.form__control {
  border-radius: var(--input-radius);
  border: var(--input-border-width, 1px) solid var(--input-border-color, transparent);
  color: var(--input-text-color, var(--color-foreground));
  background-color: var(--input-background-color, transparent);
  font-family: var(--font-body-family);
  font-weight: var(--font-body-weight);
  font-size: var(--font-body-size);
  height: var(--input-height, 4.8rem);
  line-height: var(--input-height, 4.8rem);
  padding: 0 calc(var(--input-height, 4.8rem) / 3);
  width: 100%;
}
.form__control::placeholder {
  color: var(--input-text-color, var(--color-foreground));
  opacity: 0.6;
}
.form__control:focus {
  outline: 0;
  border-color: var(--color-heading);
}
.form__control--textarea {
  min-height: var(--input-textarea-min-height, 10rem);
  resize: vertical;
  border-radius: min(var(--input-radius), 2rem);
  line-height: normal;
  padding-block: calc(var(--input-height, 4.8rem) / 3);
}
.form__control--select {
  appearance: none;
  cursor: pointer;
  line-height: normal;
  color: var(--color-heading);
}
.form__control--select option:not(:disabled) {
  color: #111;
}
.form__control--styled-select {
  border: none;
  field-sizing: content;
  padding-inline: 0 24px;
  color: var(--color-heading);
  background: transparent;
  border-radius: 0;
}
.form__control--styled-select + .form__select-icon {
  --select-icon-offset: 0;
  --select-icon-size: 1.6rem;
}
.form__control--styled-select:focus {
  outline: 0;
  box-shadow: inset 0 -0.1rem var(--color-heading);
}
.form__select-icon {
  position: absolute;
  top: 50%;
  inset-inline-end: var(--select-icon-offset, calc(var(--input-height, 4.8rem) / 3));
  transform: translateY(-50%);
  pointer-events: none;
  font-size: var(--select-icon-size, 1.8rem);
  color: var(--color-heading);
}
.form__label {
  background-color: var(--color-background);
  color: var(--color-foreground);
  padding: 0 0.6rem;
  font-size: var(--font-size-sm);
  position: absolute;
  inset-block-start: -9px;
  inset-inline-start: calc(var(--input-height, 4.8rem) / 3 - 0.6rem);
  transform: translateY(3px);
  transition: opacity var(--animation-speed-slow) var(--animation-easing), transform var(--animation-speed-slow) var(--animation-easing);
  opacity: 0;
  pointer-events: none;
  border-radius: var(--input-radius);
}
.form__toggle-label {
  display: block;
  margin-bottom: 1.2rem;
  color: var(--color-foreground);
}
.form__option {
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: var(--gap-8);
  color: var(--color-heading);
}
.form__option:last-child {
  margin-bottom: 0;
}

:is(.form__control:not(:placeholder-shown) + .form__label,
.form__control:autofill + .form__label),
.form__select--is-filled ~ .form__label {
  opacity: 1;
  transform: translateY(0);
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
  display: none;
}

@media only screen and (max-width: 767px) {
  .form__control {
    height: var(--input-height-mobile, 4.8rem);
    line-height: var(--input-height-mobile, 4.8rem);
    padding: 0 calc(var(--input-height-mobile, 4.8rem) / 3);
  }
  .form__control--textarea {
    padding-block: calc(var(--input-height-mobile, 4.8rem) / 3);
    line-height: normal;
  }
  .form__group {
    flex-direction: column;
    gap: var(--fields-gap-mobile, 1.6rem);
  }
  .form__fields {
    gap: var(--fields-gap-mobile, 1.6rem);
  }
  .form__wrapper {
    flex-direction: var(--form-direction-mobile, var(--form-direction, column));
    gap: var(--form-gap-mobile, 1.6rem);
  }
}
/* checkbox */
input:is([type=checkbox], [type=radio]) {
  --input-toggle-border: rgb(var(--color-foreground-rgb) / 70%);
  appearance: none;
  width: var(--input-toggle-size, 1.8rem);
  height: var(--input-toggle-size, 1.8rem);
  background: var(--input-toggle-background, var(--color-background));
  border: 1px solid var(--input-toggle-border, var(--color-border));
  cursor: pointer;
  display: inline-block;
  margin: 0;
  position: relative;
  transition: background-color var(--animation-speed-slower), border-color var(--animation-speed-slower);
}
input:is([type=checkbox], [type=radio])::after {
  content: "";
  display: block;
  position: absolute;
}

input:is([type=checkbox]) {
  border-radius: var(--input-checkbox-border-radius, 0.3rem);
}
@media (hover: hover) and (pointer: fine) {
  input:is([type=checkbox]):hover:not(:disabled) {
    --input-toggle-border: var(--color-heading);
  }
}
input:is([type=checkbox]):checked {
  --input-toggle-background: var(--color-heading);
}
input:is([type=checkbox])::after {
  border: 1.5px solid var(--color-background);
  border-inline-start: 0;
  border-block-start: 0;
  width: 0.4rem;
  height: 0.8rem;
  inset-inline-start: 0.6rem;
  inset-block-start: 0.3rem;
  transform: rotate(calc(43deg * var(--transform-logical)));
}

input:is([type=radio]) {
  border-radius: var(--input-radio-border-radius, 50%);
}
@media (hover: hover) and (pointer: fine) {
  input:is([type=radio]):hover:not(:disabled) {
    --input-toggle-border: var(--color-heading);
  }
}
input:is([type=radio]):checked {
  --input-toggle-border: var(--color-heading);
}
input:is([type=radio]):checked::after {
  background: var(--color-heading);
}
input:is([type=radio])::after {
  width: 1.1rem;
  height: 1.1rem;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  transform: translate(-50%, -50%);
  background: var(--color-background);
  border-radius: var(--input-radio-border-radius, 50%);
}

input:is([type=checkbox], [type=radio]) + label {
  cursor: pointer;
}

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

input:is([type=checkbox], [type=radio]):focus-visible ~ .input_label {
  outline: var(--focus-outline-width, 0.2rem) solid var(--color-keyboard-focus, #0B61CD);
  outline-offset: var(--focus-outline-offset, 0.3rem);
}

.ratio,
.checkbox {
  display: flex;
  align-items: center;
  gap: var(--gap-10);
  line-height: normal;
}
.ratio .input_label,
.checkbox .input_label {
  cursor: pointer;
  transition: color var(--animation-speed-slower) ease;
}
@media (hover: hover) and (pointer: fine) {
  .ratio:hover .input_label,
  .checkbox:hover .input_label {
    color: var(--color-heading);
  }
}
.ratio:has(input:focus-visible),
.checkbox:has(input:focus-visible) {
  outline: var(--focus-outline-width, 0.2rem) solid var(--color-keyboard-focus, #0B61CD);
  outline-offset: var(--focus-outline-offset, 0.3rem);
}
.ratio:has(input:focus-visible) input,
.checkbox:has(input:focus-visible) input {
  outline: none;
}
.ratio:has(input:focus-visible) .input_label,
.checkbox:has(input:focus-visible) .input_label {
  outline: none;
}
.ratio:has(input:disabled),
.checkbox:has(input:disabled) {
  opacity: 0.6;
  cursor: not-allowed;
}
.ratio:has(input:disabled) .input_label,
.checkbox:has(input:disabled) .input_label {
  cursor: not-allowed;
}

@supports (-webkit-overflow-scrolling: touch) {
  .form__control {
    font-size: 1.6rem !important;
  }
}
.dialog-component {
  display: block;
  width: 100%;
}
.dialog-component.w-auto {
  width: auto;
}

.dialog {
  display: none;
}

.dropdown-dialog-component {
  display: inline-flex;
}
.dropdown-dialog-component .dropdown-dialog__button .svg-icon {
  --button-icon-size: 1.143em;
}

.dropdown-dialog {
  display: none;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .swipe-tablet {
    --col-width-tablet: calc(100% / var(--columns-tablet, var(--columns)) - var(--column-gap)/2 * 1px);
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    scroll-padding-inline: var(--page-padding);
    scrollbar-width: none;
    display: grid;
    padding-inline: var(--page-padding);
    margin-inline: calc(var(--page-padding) * -1);
    margin-block: -1rem;
    padding-block: 1rem;
    overflow-y: hidden;
    overflow-x: auto !important;
    width: calc(100% + var(--page-padding) * 2);
  }
  .swipe-tablet.block--full-width {
    padding-inline-start: 0;
  }
  .swipe-tablet__inner {
    --grid: auto / auto-flow var(--col-width-tablet);
    display: grid;
    grid: var(--grid);
    column-gap: clamp(max(var(--column-gap-mobile) * 1px, var(--column-gap) * 0.3px), (var(--column-gap) - var(--column-gap-mobile)) / 512 * 100vw + (var(--column-gap-mobile) - (var(--column-gap) - var(--column-gap-mobile)) / 512 * 768) * 1px, var(--column-gap) * 1px);
    margin-inline: 0 !important;
  }
  .swipe-tablet__inner > * {
    scroll-snap-align: start;
    width: var(--col-width-tablet, 100%);
  }
  .swipe-tablet__inner > *:not(.btn, button) {
    padding-inline: 0 !important;
  }
  .swipe-tablet__inner > .btn,
  .swipe-tablet__inner > button {
    white-space: nowrap;
  }
  .swipe-tablet::-webkit-scrollbar {
    display: none;
  }
  .swipe-tablet--auto-columns {
    --col-width-tablet: fit-content(100%);
    --swipe-item-width: auto;
  }
  .swipe-tablet--1-columns {
    --col-width-tablet: 70vw;
  }
  .swipe-tablet--2-columns {
    --col-width-tablet: 41vw;
  }
  .swipe-tablet--3-columns {
    --col-width-tablet: 28vw;
  }
  .swipe-tablet--4-columns {
    --col-width-tablet: 21vw;
  }
  .swipe-tablet--5-columns {
    --col-width-tablet: 16.8vw;
  }
  .swipe-tablet--6-columns {
    --col-width-tablet: 14vw;
  }
  .layout-flex--row > .swipe-tablet-block {
    container-type: inline-size;
  }
  .layout-flex--row > .swipe-tablet-block .swipe-tablet {
    container-type: normal;
    min-inline-size: 0;
    --gap-tablet-pad: calc(var(--column-gap, 0) / 2 * 1px);
    --col-width-tablet: max(10rem, var(--col-width-tablet-raw));
    --col-width-tablet-raw: calc(74.5cqw - var(--gap-tablet-pad));
  }
  .layout-flex--row > .swipe-tablet-block .swipe-tablet.swipe-tablet--2-columns {
    --col-width-tablet-raw: calc(46cqw - var(--gap-tablet-pad));
  }
  .layout-flex--row > .swipe-tablet-block .swipe-tablet.swipe-tablet--3-columns {
    --col-width-tablet-raw: calc(30cqw - var(--gap-tablet-pad));
  }
  .layout-flex--row > .swipe-tablet-block .swipe-tablet.swipe-tablet--4-columns {
    --col-width-tablet-raw: calc(23cqw - var(--gap-tablet-pad));
  }
  .layout-flex--row > .swipe-tablet-block .swipe-tablet.swipe-tablet--5-columns {
    --col-width-tablet-raw: calc(14.5cqw - var(--gap-tablet-pad));
  }
  .layout-flex--row > .swipe-tablet-block .swipe-tablet.swipe-tablet--6-columns {
    --col-width-tablet-raw: calc(11.8cqw - var(--gap-tablet-pad));
  }
}
@media (max-width: 767px) {
  .swipe-mobile {
    --col-width-mobile: calc(100% / var(--columns-mobile) - var(--column-gap-mobile) / 2 * 1px);
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    scroll-padding-inline: var(--page-padding);
    scrollbar-width: none;
    display: flex;
    padding-inline: var(--page-padding);
    margin-inline: calc(var(--page-padding) * -1);
    margin-block: -1rem;
    padding-block: 1rem;
    overflow-y: hidden;
    overflow-x: auto !important;
    width: calc(100% + var(--page-padding) * 2);
  }
  .swipe-mobile.block--full-width {
    padding-inline-start: 0;
  }
  .swipe-mobile__inner {
    --grid: auto / auto-flow var(--col-width-mobile);
    display: grid;
    grid: var(--grid);
    column-gap: calc(var(--column-gap-mobile) * 1px);
    margin-inline: 0 !important;
    row-gap: 0;
  }
  .swipe-mobile__inner > * {
    scroll-snap-align: start;
    width: var(--swipe-item-width, var(--col-width-mobile));
  }
  .swipe-mobile__inner > *:not(.btn, button, .swipe-mobile-item--padding) {
    padding-inline: 0 !important;
  }
  .swipe-mobile__inner > .btn,
  .swipe-mobile__inner > button {
    white-space: nowrap;
  }
  .swipe-mobile::-webkit-scrollbar {
    display: none;
  }
  .swipe-mobile:has(.swiper-slide:only-child) {
    --col-width-mobile: calc(100vw - var(--page-padding) * 2);
  }
  .swipe-mobile:has(.swiper-slide:only-child) .swipe-mobile__inner {
    width: 100%;
  }
  .swipe-mobile .swipe-mobile__inner > *:only-child {
    --col-width-mobile: calc(100vw - var(--page-padding) * 2 - var(--scrollbar-width));
  }
  .swipe-mobile--auto-columns {
    --col-width-mobile: auto;
  }
  .swipe-mobile--1-columns {
    --col-width-mobile: 74.5vw;
  }
  .swipe-mobile--2-columns {
    --col-width-mobile: 40vw;
  }
  .swipe-mobile--3-columns {
    --col-width-mobile: 26vw;
  }
  .swipe-mobile--4-columns {
    --col-width-mobile: 21vw;
  }
  .layout-flex--row-mobile > .swipe-mobile-block {
    container-type: inline-size;
  }
  .layout-flex--row-mobile > .swipe-mobile-block .swipe-mobile {
    container-type: normal;
    min-inline-size: 0;
    --gap-mobile-pad: calc(var(--column-gap-mobile, 0) / 2 * 1px);
    --col-width-mobile: max(10rem, var(--col-width-mobile-raw));
    --col-width-mobile-raw: calc(74.5cqw - var(--gap-mobile-pad));
  }
  .layout-flex--row-mobile > .swipe-mobile-block .swipe-mobile.swipe-mobile--2-columns {
    --col-width-mobile-raw: calc(44cqw - var(--gap-mobile-pad));
  }
  .layout-flex--row-mobile > .swipe-mobile-block .swipe-mobile.swipe-mobile--3-columns {
    --col-width-mobile-raw: calc(31cqw - var(--gap-mobile-pad));
  }
  .layout-flex--row-mobile > .swipe-mobile-block .swipe-mobile.swipe-mobile--4-columns {
    --col-width-mobile-raw: calc(23cqw - var(--gap-mobile-pad));
  }
}
@media (max-width: 767px) and (max-width: 479px) {
  .layout-flex--row-mobile > .swipe-mobile-block .swipe-mobile.swipe-mobile--xs-1-columns {
    --columns-mobile: 1;
    --col-width-mobile-raw: calc(74.5cqw - var(--gap-mobile-pad));
  }
  .layout-flex--row-mobile > .swipe-mobile-block .swipe-mobile.swipe-mobile--xs-2-columns {
    --columns-mobile: 2;
    --col-width-mobile-raw: calc(44cqw - var(--gap-mobile-pad));
  }
  .layout-flex--row-mobile > .swipe-mobile-block .swipe-mobile.swipe-mobile--xs-3-columns {
    --columns-mobile: 3;
    --col-width-mobile-raw: calc(31cqw - var(--gap-mobile-pad));
  }
  .layout-flex--row-mobile > .swipe-mobile-block .swipe-mobile.swipe-mobile--xs-4-columns {
    --columns-mobile: 4;
    --col-width-mobile-raw: calc(23cqw - var(--gap-mobile-pad));
  }
}
@media (max-width: 767px) and (min-width: 480px) and (max-width: 767px) {
  .layout-flex--row-mobile > .swipe-mobile-block .swipe-mobile.swipe-mobile--sm-1-columns {
    --columns-mobile: 1;
    --col-width-mobile-raw: calc(74.5cqw - var(--gap-mobile-pad));
  }
  .layout-flex--row-mobile > .swipe-mobile-block .swipe-mobile.swipe-mobile--sm-2-columns {
    --columns-mobile: 2;
    --col-width-mobile-raw: calc(44cqw - var(--gap-mobile-pad));
  }
  .layout-flex--row-mobile > .swipe-mobile-block .swipe-mobile.swipe-mobile--sm-3-columns {
    --columns-mobile: 3;
    --col-width-mobile-raw: calc(31cqw - var(--gap-mobile-pad));
  }
  .layout-flex--row-mobile > .swipe-mobile-block .swipe-mobile.swipe-mobile--sm-4-columns {
    --columns-mobile: 4;
    --col-width-mobile-raw: calc(23cqw - var(--gap-mobile-pad));
  }
}
@media (max-width: 767px) {
  .section-content--boxed .swipe-mobile {
    --page-padding: var(--boxed-padding-inline-mobile);
    --swiper-padding-inline: var(--boxed-padding-inline-mobile);
  }
}
@media (max-width: 479px) {
  .swipe-mobile--xs-1-columns {
    --columns-mobile: 1;
    --col-width-mobile: 74.5vw;
  }
  .swipe-mobile--xs-2-columns {
    --columns-mobile: 2;
    --col-width-mobile: 40vw;
  }
  .swipe-mobile--xs-3-columns {
    --columns-mobile: 3;
    --col-width-mobile: 26vw;
  }
  .swipe-mobile--xs-4-columns {
    --columns-mobile: 4;
    --col-width-mobile: 21vw;
  }
}
@media (min-width: 480px) and (max-width: 767px) {
  .swipe-mobile--sm-1-columns {
    --columns-mobile: 1;
    --col-width-mobile: 74.5vw;
  }
  .swipe-mobile--sm-2-columns {
    --columns-mobile: 2;
    --col-width-mobile: 40vw;
  }
  .swipe-mobile--sm-3-columns {
    --columns-mobile: 3;
    --col-width-mobile: 26vw;
  }
  .swipe-mobile--sm-4-columns {
    --columns-mobile: 4;
    --col-width-mobile: 21vw;
  }
}
.vertical-scroll {
  scroll-behavior: smooth;
  scroll-snap-type: y mandatory;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.vertical-scroll::-webkit-scrollbar {
  width: var(--scroll-bar-width, 0.6rem);
}
.vertical-scroll::-webkit-scrollbar-thumb {
  border-radius: 99px;
  background-clip: padding-box;
  background: var(--color-background-bar);
}
.vertical-scroll::-webkit-scrollbar-track {
  border: none;
  background: transparent;
}

.horizontal-scroll {
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  overflow-y: hidden;
  overflow-x: auto;
}
.horizontal-scroll::-webkit-scrollbar {
  height: var(--scroll-bar-width, 0.6rem);
}
.horizontal-scroll::-webkit-scrollbar-thumb {
  border-radius: 99px;
  background-clip: padding-box;
  background: var(--color-background-bar);
}
.horizontal-scroll::-webkit-scrollbar-track {
  border: none;
  background: transparent;
}

@media (max-width: 767px) {
  .vertical-scroll,
  .horizontal-scroll {
    --scroll-bar-width: 0;
  }
}
@supports (-moz-appearance: none) or selector(::-moz-selection) {
  .vertical-scroll,
  .horizontal-scroll {
    scrollbar-width: thin;
    scrollbar-color: var(--color-background-bar) transparent;
  }
  @media (max-width: 767px) {
    .vertical-scroll,
    .horizontal-scroll {
      scrollbar-width: none;
    }
  }
}
@property --swiper-pagination-bullet-clip-start {
  syntax: "<length>";
  inherits: true;
  initial-value: 0px;
}
@property --swiper-pagination-bullet-clip-end {
  syntax: "<length>";
  inherits: true;
  initial-value: 0px;
}
:root {
  --swiper-nav-size: 4.8rem;
  --swiper-nav-icon-size: 2rem;
  --swiper-progressbar-height: 0.2rem;
  --swiper-pagination-bullet-size: .8rem;
  --swiper-pagination-bullet-dynamic-size: 1rem;
  --swiper-pagination-bullet-active-size: 3.4rem;
  --swiper-pagination-bullet-horizontal-gap: .8rem ;
}

.swiper-component {
  position: relative;
  display: block;
}
.swiper-component--auto-height .swiper-slide {
  height: auto;
}
.swiper-component .swiper-slide > .stacked-block--height-fill {
  height: 100%;
}
@media (min-width: 1025px) {
  .swiper-component--nav-show-on-hover .swiper-slide:not(:last-child) {
    position: relative;
  }
  .swiper-component--nav-show-on-hover .swiper-slide:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    inset-inline-end: calc(-1 * var(--column-gap, 0) * 1px);
    width: calc(var(--column-gap, 0) * 1px);
  }
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
  .swiper-component--nav-show-on-hover .swiper-btn {
    transition: all var(--animation-speed-slower);
    opacity: 0;
    visibility: hidden;
    transform: translateX(var(--swiper-btn-transform-x));
  }
  .swiper-component--nav-show-on-hover .swiper-btn--prev {
    --swiper-btn-transform-x: calc(-1 * var(--swiper-nav-size) / 2);
  }
  .swiper-component--nav-show-on-hover .swiper-btn--next {
    --swiper-btn-transform-x: calc(var(--swiper-nav-size) / 2);
  }
  .swiper-component--nav-show-on-hover .swiper-btn:focus-visible {
    --swiper-btn-transform-x: 0;
    opacity: 1;
    visibility: visible;
  }
  .swiper-component--nav-show-on-hover:hover .swiper-btn {
    --swiper-btn-transform-x: 0;
    opacity: 1;
    visibility: visible;
  }
  .swiper-component--nav-show-on-hover:hover .swiper-btn.swiper-button-lock {
    opacity: 0;
    visibility: hidden;
  }
  .swiper-component--nav-show-on-hover:hover .swiper-btn.swiper-button-disabled:not(.swiper-button-lock) {
    opacity: 0.5;
  }
}
@media (min-width: 768px) {
  .swiper-component--nav-inside .swiper-btn--next {
    margin-inline-end: 1rem;
  }
  .swiper-component--nav-inside .swiper-btn--next.btn--text {
    margin-inline-end: 0;
  }
  .swiper-component--nav-inside .swiper-btn--prev {
    margin-inline-start: 1rem;
  }
  .swiper-component--nav-inside .swiper-btn--prev.btn--text {
    margin-inline-start: 0;
  }
}
.swiper-component--overflow .swiper {
  overflow: visible;
}
.swiper-component--bleed:not(.swiper-component--overflow) {
  --swiper-padding-block-start: 0;
  --swiper-padding-block-end: 0;
  --swiper-padding-inline: 0;
}
.swiper-component--bleed:not(.swiper-component--overflow):has(.swiper-slide > .shadow-style.shadow-xs) {
  --swiper-padding-block-start: 4px;
  --swiper-padding-block-end: 6px;
  --swiper-padding-inline: min(5px, var(--column-gap, 0) * 0.5px);
}
.swiper-component--bleed:not(.swiper-component--overflow):has(.swiper-slide > .shadow-style.shadow-sm) {
  --swiper-padding-block-start: 8px;
  --swiper-padding-block-end: 12px;
  --swiper-padding-inline: min(10px, var(--column-gap, 0) * 0.5px);
}
.swiper-component--bleed:not(.swiper-component--overflow) .swiper {
  margin-block: calc(var(--swiper-padding-block-start) * -1) calc(var(--swiper-padding-block-end) * -1);
  margin-inline: calc(var(--swiper-padding-inline) * -1);
  padding-block: var(--swiper-padding-block-start) var(--swiper-padding-block-end);
  padding-inline: var(--swiper-padding-inline);
}
@media (max-width: 767px) {
  .swiper-component--pagination-mobile .swiper {
    overflow: hidden;
  }
}
.swiper-component carousel-wrapper:not(.swiper-initialized) ~ .swiper-controls .swiper-navigation {
  visibility: hidden;
}
.swiper-component carousel-wrapper:not(.swiper-initialized) ~ .swiper-controls .swiper-navigation .swiper-btn:not(:focus-visible) {
  visibility: hidden;
  opacity: 0;
}
@media screen and (min-width: 1280px) {
  .swiper-component carousel-wrapper:not(.swiper-initialized) carousel-inner {
    display: flex;
    gap: calc(var(--column-gap) * 1px);
  }
  .swiper-component carousel-wrapper:not(.swiper-initialized) .swiper-slide {
    width: calc((100% - var(--column-gap, 0) * 1px * (var(--columns, 1) - 1)) / var(--columns, 1));
  }
}
@media (min-width: 1025px) and (max-width: 1279px) {
  .swiper-component carousel-wrapper:not(.swiper-initialized) carousel-inner {
    display: flex;
    gap: calc(var(--column-gap) * 1px);
  }
  .swiper-component carousel-wrapper:not(.swiper-initialized) .swiper-slide {
    width: calc((100% - var(--column-gap, 0) * 1px * (var(--columns-laptop, 1) - 1)) / var(--columns-laptop, 1));
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .swiper-component carousel-wrapper:not(.swiper-initialized):not(.swipe-tablet) carousel-inner {
    display: flex;
    gap: calc(var(--column-gap) * 1px);
  }
  .swiper-component carousel-wrapper:not(.swiper-initialized):not(.swipe-tablet) carousel-inner .swiper-slide {
    width: calc((100% - var(--column-gap, 0) * 1px * (var(--columns-tablet, 1) - 1)) / var(--columns-tablet, 1));
  }
}
@media (max-width: 767px) {
  .swiper-component carousel-wrapper:not(.swiper-initialized):not(.swipe-mobile) carousel-inner {
    display: flex;
    gap: calc(var(--column-gap-mobile, var(--column-gap)) * 1px);
  }
  .swiper-component carousel-wrapper:not(.swiper-initialized):not(.swipe-mobile) carousel-inner .swiper-slide {
    width: calc((100% - var(--column-gap-mobile, var(--column-gap)) * 1px * (var(--columns-mobile, 1) - 1)) / var(--columns-mobile, 1));
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .swiper-component--custom-columns carousel-wrapper:not(.swiper-initialized):not(.swipe-tablet) .swiper-slide {
    width: calc((100% - var(--column-gap, 0) * 1px * (var(--columns-md, var(--columns-tablet, 1)) - 1)) / var(--columns-md, var(--columns-tablet, 1)));
  }
}
@media (min-width: 1025px) and (max-width: 1279px) {
  .swiper-component--custom-columns carousel-wrapper:not(.swiper-initialized) .swiper-slide {
    width: calc((100% - var(--column-gap, 0) * 1px * (var(--columns-lg, var(--columns-laptop, 1)) - 1)) / var(--columns-lg, var(--columns-laptop, 1)));
  }
}
@media (min-width: 1280px) and (max-width: 1440px) {
  .swiper-component--custom-columns carousel-wrapper:not(.swiper-initialized) .swiper-slide {
    width: calc((100% - var(--column-gap, 0) * 1px * (var(--columns-xl, var(--columns, 1)) - 1)) / var(--columns-xl, var(--columns, 1)));
  }
}
@media (min-width: 1441px) {
  .swiper-component--custom-columns carousel-wrapper:not(.swiper-initialized) .swiper-slide {
    width: calc((100% - var(--column-gap, 0) * 1px * (var(--columns-xxl, var(--columns, 1)) - 1)) / var(--columns-xxl, var(--columns, 1)));
  }
}

.swiper-btn {
  --button-height: var(--swiper-nav-size);
  border-radius: var(--navigation-radius);
  text-align: center;
  flex-shrink: 0;
  margin-block-start: calc(-1 * (var(--swiper-pagination-height) + var(--swiper-controls-offset-spacing)));
  pointer-events: auto;
}
.swiper-btn .svg-icon {
  --button-icon-size: var(--swiper-nav-icon-size);
}
.swiper-btn--subtle {
  --swiper-nav-icon-size: 2.4rem;
  --swiper-nav-size: 3.6rem;
}
.swiper-btn.btn--light {
  border: 1px solid rgba(0, 0, 0, 0.07);
}
@media (hover: hover) and (pointer: fine) {
  .swiper-btn.btn--light:hover {
    border-color: var(--color-primary-button-background);
  }
}
@media (min-width: 1025px) {
  .swiper-btn--next {
    margin-inline-end: calc(-1 * var(--swiper-nav-size) / 2);
  }
  .swiper-btn--prev {
    margin-inline-start: calc(-1 * var(--swiper-nav-size) / 2);
  }
}

.carousel-component[data-navigation-cursor=true] .swiper-btn {
  opacity: 0;
  margin: 0;
  transition: opacity 0.5s ease-in-out;
  position: fixed;
  transform: translate(-50%, -50%);
}

.swiper-navigation--cursor-follow .swiper-btn {
  opacity: 1;
  cursor: none;
}

.swiper-navigation {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.swiper-navigation[data-mix-blend-mode=difference] {
  mix-blend-mode: difference;
}
.swiper-navigation[data-nav-center-on-image=true] {
  max-height: var(--nav-height);
}
.swiper-navigation[data-nav-center-on-image=true] .swiper-btn {
  margin-block-start: 0;
}
.swiper-navigation .swiper-btn.btn--text {
  --swiper-nav-icon-size: 3.2rem;
}
.swiper-navigation .swiper-btn.btn--text:after {
  display: none;
}
@media (max-width: 767px) {
  .swiper-navigation--hide-on-mobile {
    display: none;
  }
}

.swiper-pagination {
  --swiper-pagination-bullet-width: calc(var(--swiper-pagination-bullet-size) + var(--swiper-pagination-bullet-horizontal-gap) * 2);
  --swiper-pagination-bullet-height: calc(var(--swiper-pagination-bullet-size) + var(--swiper-pagination-bullet-horizontal-gap) * 2);
  --swiper-pagination-bullet-shift: calc(var(--swiper-pagination-bullet-active-size) + var(--swiper-pagination-bullet-horizontal-gap) * 2 - var(--swiper-pagination-bullet-width));
  --swiper-pagination-bullet-fade: calc(var(--animation-speed-slower) * 0.35);
  position: static;
  transform: none;
  margin: auto;
  z-index: 1;
}
.swiper-pagination-bullet {
  opacity: 1;
  position: relative;
  padding-inline: var(--swiper-pagination-bullet-horizontal-gap);
  margin: 0 !important;
  background-color: transparent;
  border-radius: 0;
  transition: --swiper-pagination-bullet-clip-start var(--animation-speed-slower) cubic-bezier(0.4, 0, 0.2, 1), --swiper-pagination-bullet-clip-end var(--animation-speed-slower) cubic-bezier(0.4, 0, 0.2, 1);
}
.swiper-pagination-bullet .swiper-pagination-number {
  display: none;
}
.swiper-pagination-bullet:before, .swiper-pagination-bullet:after {
  content: "";
  position: absolute;
  inset-inline-start: var(--swiper-pagination-bullet-horizontal-gap);
  inset-inline-end: var(--swiper-pagination-bullet-pill-end, var(--swiper-pagination-bullet-horizontal-gap));
  inset-block-start: 50%;
  transform: translateY(-50%);
  height: var(--swiper-pagination-bullet-size);
  border-radius: var(--swiper-pagination-bullet-size);
  clip-path: inset(0 var(--swiper-pagination-bullet-clip-end, 0px) 0 var(--swiper-pagination-bullet-clip-start, 0px) round var(--swiper-pagination-bullet-clip-radius, var(--swiper-pagination-bullet-size)));
  transition: opacity var(--swiper-pagination-bullet-fade) linear calc(var(--animation-speed-slower) - var(--swiper-pagination-bullet-fade));
}
.swiper-pagination-bullet:before {
  background-color: var(--color-background-bar);
}
.swiper-pagination-bullet:after {
  background: var(--swiper-pagination-bullet-active-background, var(--color-background-bar-active));
  opacity: 0;
}
.swiper-pagination-bullet-active:after {
  opacity: 1;
  transition: opacity var(--swiper-pagination-bullet-fade) linear;
}
.swiper-pagination-bullets {
  display: flex;
  align-items: center;
  justify-content: center;
}
.swiper-pagination-horizontal.swiper-pagination-bullets:not(.swiper-pagination-bullets-dynamic):has(.swiper-pagination-bullet:not(:only-child)):after {
  content: "";
  flex: none;
  width: var(--swiper-pagination-bullet-shift);
}
.swiper-pagination-horizontal.swiper-pagination-bullets:not(.swiper-pagination-bullets-dynamic) .swiper-pagination-bullet {
  --swiper-pagination-bullet-pill-end: calc(var(--swiper-pagination-bullet-width) - var(--swiper-pagination-bullet-horizontal-gap) - var(--swiper-pagination-bullet-active-size));
  --swiper-pagination-bullet-clip-end: var(--swiper-pagination-bullet-shift);
}
.swiper-pagination-horizontal.swiper-pagination-bullets:not(.swiper-pagination-bullets-dynamic) .swiper-pagination-bullet-active,
.swiper-pagination-horizontal.swiper-pagination-bullets:not(.swiper-pagination-bullets-dynamic) .swiper-pagination-bullet-active ~ .swiper-pagination-bullet {
  --swiper-pagination-bullet-clip-end: 0px;
}
.swiper-pagination-horizontal.swiper-pagination-bullets:not(.swiper-pagination-bullets-dynamic) .swiper-pagination-bullet-active ~ .swiper-pagination-bullet {
  --swiper-pagination-bullet-clip-start: var(--swiper-pagination-bullet-shift);
}
.no-registered-property .swiper-pagination-horizontal.swiper-pagination-bullets:not(.swiper-pagination-bullets-dynamic):has(.swiper-pagination-bullet:not(:only-child)):after {
  content: none;
}
.no-registered-property .swiper-pagination-horizontal.swiper-pagination-bullets:not(.swiper-pagination-bullets-dynamic) .swiper-pagination-bullet {
  transition: width var(--animation-speed-slower) cubic-bezier(0.4, 0, 0.2, 1);
}
.no-registered-property .swiper-pagination-horizontal.swiper-pagination-bullets:not(.swiper-pagination-bullets-dynamic) .swiper-pagination-bullet:before, .no-registered-property .swiper-pagination-horizontal.swiper-pagination-bullets:not(.swiper-pagination-bullets-dynamic) .swiper-pagination-bullet:after {
  inset-inline-end: var(--swiper-pagination-bullet-horizontal-gap);
  clip-path: none;
}
.no-registered-property .swiper-pagination-horizontal.swiper-pagination-bullets:not(.swiper-pagination-bullets-dynamic).swiper-pagination--animate .swiper-pagination-bullet-active:after {
  clip-path: inset(0 calc(100% * (1 - var(--swiper-pagination-bullet-active-width, 1))) 0 0 round var(--pagination-fill-radius, var(--swiper-pagination-bullet-size)));
  transition: none;
}
.no-registered-property .swiper-pagination-horizontal.swiper-pagination-bullets:not(.swiper-pagination-bullets-dynamic) .swiper-pagination-bullet-active {
  width: calc(var(--swiper-pagination-bullet-active-size) + var(--swiper-pagination-bullet-horizontal-gap) * 2);
}
.swiper-pagination-vertical .swiper-pagination-bullet:before,
.swiper-pagination-vertical .swiper-pagination-bullet:after {
  clip-path: none;
}
.swiper-pagination-vertical .swiper-pagination-bullet-active {
  width: calc(var(--swiper-pagination-bullet-active-size) + var(--swiper-pagination-bullet-horizontal-gap) * 2);
}
.swiper-pagination-bullets-dynamic {
  display: inline-block;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}
.swiper-pagination-progressbar {
  --swiper-pagination-color: var(--color-background-bar-active);
  max-width: var(--pagination-max-width, none);
  background: var(--color-background-bar);
  position: relative;
  border-radius: 99px;
  overflow: hidden;
}
.swiper-pagination-progressbar.swiper-pagination-horizontal {
  height: var(--swiper-progressbar-height);
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  border-radius: 99px;
  transform-origin: var(--transform-origin-start) top;
}
.swiper-pagination-progressbar.swiper-pagination-horizontal {
  inset: auto;
}
.swiper-pagination.swiper-pagination-bullets-dynamic {
  --swiper-pagination-bullet-size: var(--swiper-pagination-bullet-dynamic-size);
}
.swiper-pagination.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.4);
}
.swiper-pagination.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev,
.swiper-pagination.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.6);
}
.swiper-pagination.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  width: var(--swiper-pagination-bullet-width);
  height: var(--swiper-pagination-bullet-height);
  transform: none;
}
.swiper-pagination--animate .swiper-pagination-bullet-active:after {
  clip-path: inset(0 calc(100% * (1 - var(--swiper-pagination-bullet-active-width, 0))) 0 0 round var(--pagination-fill-radius, var(--swiper-pagination-bullet-size)));
  transition: none;
}
.swiper-pagination.swiper-pagination-lock {
  display: none;
}
.swiper-pagination--contained-pill {
  --swiper-pagination-bullet-height: .6rem;
  --swiper-pagination-bullet-size: .6rem;
  --swiper-pagination-bullet-active-size: 2rem;
  --swiper-pagination-bullet-horizontal-gap: .8rem;
  background: var(--swiper-pagination-background, var(--color-background));
  padding: 0.1rem 0.8rem;
  border-radius: 999px;
  width: auto;
  border: 1px solid rgba(0, 0, 0, 0.07);
}
.swiper-pagination--contained-pill .swiper-pagination-bullet-active {
  margin-block: calc(var(--swiper-pagination-bullet-horizontal-gap)) !important;
}
.swiper-pagination--contained-pill-white {
  --swiper-pagination-background: #fff;
  --swiper-pagination-bullet-background: rgba(79, 84, 86, 0.20);
  --swiper-pagination-bullet-active-background: #24272A;
}

.swiper-component[style*="--swiper-pagination-bullet-active-width"] .swiper-pagination-bullet {
  border-radius: 100%;
}

.swiper-controls {
  --swiper-pagination-height: 0;
}
.swiper-controls:has(.swiper-pagination:not(.swiper-pagination-lock)) {
  --swiper-pagination-height: var(--swiper-pagination-bullet-size);
  --swiper-controls-offset-spacing: 3rem;
  --swiper-controls-offset-spacing-mobile: 2.4rem;
  margin-top: calc(var(--swiper-controls-offset-spacing) - var(--swiper-pagination-bullet-horizontal-gap, 0px));
}
@media (max-width: 767px) {
  .swiper-controls:has(.swiper-pagination:not(.swiper-pagination-lock)) {
    margin-top: calc(var(--swiper-controls-offset-spacing-mobile) - var(--swiper-pagination-bullet-horizontal-gap, 0px));
  }
}
.swiper-controls:has(.swiper-pagination-progressbar) {
  --swiper-pagination-bullet-horizontal-gap: 0px;
  --swiper-pagination-height: var(--swiper-progressbar-height);
}
.swiper-controls:has(.swiper-pagination-bullets-dynamic) {
  --swiper-pagination-height: var(--swiper-pagination-bullet-dynamic-size);
}
.swiper-controls:has(.swiper-pagination.swiper-pagination--inside) {
  --swiper-pagination-height: 0;
  --swiper-controls-offset-spacing: 0;
  --swiper-controls-offset-spacing-mobile: 0;
}
.swiper-controls--inline .swiper-navigation {
  position: static;
}
.swiper-controls--with-background {
  padding: 0.6rem 0.8rem;
}
.swiper-controls--inside {
  position: absolute;
  inset-inline-start: 50%;
  transform: translateY(-50%);
  inset-block-end: var(--swiper-controls-offset-spacing);
}
.swiper-controls .swiper-button-lock {
  display: none;
}

.swiper-controls-pagination--numbers {
  --animation-speed-slower: 0.3s;
}
.swiper-controls-pagination--numbers .swiper-pagination:has(.swiper-pagination-bullet) {
  --swiper-pagination-bullet-width: 3.6rem;
  --swiper-pagination-bullet-active-size: 3.6rem;
  --swiper-pagination-bullet-height: 3.6rem;
  --swiper-pagination-bullet-horizontal-gap: 0px;
  background-color: rgb(var(--color-heading-rgb)/10%);
  border: 1px solid rgb(var(--color-heading-rgb)/10%);
  border-radius: 999px;
  padding: 0.2rem;
}
.swiper-controls-pagination--numbers .swiper-interacted .swiper-pagination:has(.swiper-pagination-bullet) {
  transition: background-color 0.2s var(--animation-easing), border-color var(--animation-speed-slower) var(--animation-easing);
}
.swiper-controls-pagination--numbers .swiper-pagination-bullet {
  --progress: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: background-color 0.2s var(--animation-easing), color var(--animation-speed-slower) var(--animation-easing);
  border-radius: 100%;
}
.swiper-controls-pagination--numbers .swiper-pagination-bullet:after, .swiper-controls-pagination--numbers .swiper-pagination-bullet:before {
  display: none;
}
.swiper-controls-pagination--numbers .swiper-pagination-bullet svg {
  shape-rendering: geometricPrecision;
  position: absolute;
  inset: 0;
  margin: auto;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  transform: rotate(-90deg);
  transform-origin: center;
}
.swiper-controls-pagination--numbers .swiper-pagination-bullet .swiper-pagination-progress {
  fill: none;
  stroke: var(--color-background);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 100.5309649149;
}
.swiper-controls-pagination--numbers .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) .swiper-pagination-progress {
  stroke-dashoffset: 100.5309649149;
}
.swiper-controls-pagination--numbers .swiper-pagination-bullet .swiper-pagination-number {
  display: block;
}
.swiper-controls-pagination--numbers .swiper-pagination-bullet-active {
  background-color: var(--color-heading);
  color: var(--color-background);
}

.carousel-header-with-navigation .swiper-navigation {
  position: static;
  gap: 1rem;
  --swiper-nav-row-size: 3.4rem;
  --swiper-nav-icon-size: 2rem;
  visibility: hidden;
  min-height: var(--swiper-nav-row-size);
}
.carousel-header-with-navigation .swiper-navigation:has(.swiper-btn.btn--text) {
  --swiper-nav-row-size: 2.4rem;
  margin-inline-end: calc((var(--swiper-nav-row-size) - var(--swiper-nav-icon-size)) / 2 * -1);
}
.carousel-header-with-navigation .swiper-navigation .swiper-btn {
  --swiper-nav-size: var(--swiper-nav-row-size);
  --swiper-nav-icon-size: 2rem;
  --button-height-mobile: var(--swiper-nav-row-size);
  margin-inline: 0;
  min-height: var(--swiper-nav-size);
}
.carousel-header-with-navigation .swiper-navigation .swiper-btn.btn--text:after {
  display: none;
}

:has(> .carousel-header-with-navigation):has(.swiper-initialized) .carousel-header-with-navigation .swiper-navigation:not(:has(.swiper-button-lock)) {
  visibility: visible;
}

@media (min-width: 768px) {
  .slideshow--centered .swiper-component .swiper:not(.swiper-initialized) .swiper-wrapper {
    gap: var(--column-gap, 3rem);
  }
  .slideshow--centered .swiper-component .swiper:not(.swiper-initialized) .swiper-slide {
    width: 100%;
    max-width: var(--page-width);
    margin-inline: auto;
  }
  .slideshow--centered .swiper-component .swiper:not(.swiper-initialized) .swiper-slide:not(:first-child) {
    display: none;
  }
}

.group-block.stacked-block--height-fill > .group-block__inner > .group-block__content {
  height: 100%;
}

.product-group-block:has(.group-block__content > product-badges.hidden):has(.group-block__content > pickup-availability.hidden):not(:has(.group-block__content > :not(product-badges,
pickup-availability):not(.hidden))) {
  display: none;
}

@media only screen and (min-width: 768px) {
  .group-block__content.layout-flex--column {
    text-align: var(--flex-align, start);
  }
}
@media only screen and (max-width: 767px) {
  .group-block__content.layout-flex--column-mobile {
    text-align: var(--flex-align-mobile, start);
  }
  .group-block__content.group-block__content--swipe-mobile {
    --col-width-mobile: 74.5vw;
    flex-flow: row nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    scroll-padding-inline: var(--page-padding);
    scrollbar-width: none;
    margin-inline: calc(var(--page-padding) * -1);
    padding-inline: var(--page-padding);
    width: calc(100vw - var(--scrollbar-width, 0px));
  }
  .group-block__content.group-block__content--swipe-mobile::-webkit-scrollbar {
    display: none;
  }
  .group-block__content.group-block__content--swipe-mobile > * {
    scroll-snap-align: start;
    flex: 0 0 auto;
    max-width: var(--col-width-mobile);
  }
  .section-content--boxed .group-block__content--swipe-mobile {
    --page-padding: var(--boxed-padding-inline-mobile);
  }
}
.header .localization {
  column-gap: var(--header-items-gap);
  height: 100%;
  align-items: center;
}
.header .localization .dropdown-dialog-component {
  position: static;
}

.header .localization-dialog {
  --dialog-offset-top: 100%;
  margin-block: calc(-1 * var(--header-items-gap) / 2);
  padding-block: calc(var(--header-items-gap) / 2);
}

.dropdown-dialog--language {
  --dialog-width: 21rem;
}

/* Localization form (country / language selector) */
localization-form-component {
  min-height: var(--localization-height);
}

.localization-form__button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all var(--animation-speed-slower) var(--animation-easing);
}

.country-flags {
  --flag-size: 16px;
  background-image: var(--background-image);
  width: var(--flag-size);
  height: var(--flag-size);
  flex-shrink: 0;
  display: inline-block;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.localization-form__filter {
  --button-size: var(--input-height);
  padding-block: 1.6rem;
  padding-inline: 1rem;
  border-bottom: 1px solid var(--color-border);
  position: relative;
}
.localization-form__filter .localization-form__icon,
.localization-form__filter button {
  width: var(--button-size);
  height: var(--button-size);
  position: absolute;
  inset-inline-end: calc(var(--input-height-mobile, 4.8rem) / 3);
  inset-block-start: 50%;
  transform: translateY(-50%);
  display: flex;
}
.localization-form__filter .localization-form__icon[hidden],
.localization-form__filter button[hidden] {
  display: none;
}
@media (max-width: 767px) {
  .localization-form__filter {
    padding-block-start: 2rem;
  }
}

.localization-form__results {
  padding-block: 1rem;
  padding-inline: 1rem;
  max-height: 36.2rem;
}
@media (max-width: 767px) {
  .localization-form__results {
    padding-block: 2rem;
    max-height: calc(95dvh - 14.5rem);
  }
}

.localization-form__list {
  gap: 0.2rem;
}

.localization-form__item {
  padding-inline: 1.6rem;
  padding-block: 1rem;
  border-radius: var(--container-border-radius-sm);
  gap: 0.8rem;
  cursor: pointer;
}
.localization-form__item:focus, .localization-form__item[aria-current=true] {
  background-color: var(--color-background-gray-600);
}
@media (hover: hover) and (pointer: fine) {
  .localization-form__item:hover {
    background-color: var(--color-background-gray-600);
  }
}
.localization-form__item:focus-visible {
  outline: none;
}
.localization-form__item[aria-current=true] {
  pointer-events: none;
  color: var(--color-heading);
}

.localization-form__item-disabled {
  pointer-events: none;
}

.localization-form__name mark {
  background: transparent;
  font-weight: 600;
}

.header-block {
  align-items: var(--text-align-default);
}

.section-header .header-block {
  --text-align-default: var(--alignment);
  align-items: var(--text-align-default);
}

@media only screen and (max-width: 767px) {
  .header-block {
    align-items: var(--alignment-mobile, var(--text-align-default));
    --text-align-default: var(--alignment-mobile);
  }
  .section-header .header-block {
    align-items: var(--alignment-mobile, var(--text-align-default));
    --text-align-default: var(--alignment-mobile);
  }
}
.overlay {
  z-index: var(--overlay-layer);
  background: var(--overlay-color);
  backdrop-filter: blur(var(--overlay-backdrop-blur, 0px));
}

.full-cover-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
}

:is(.full-cover-link) ~ :is(.full-cover-inner) {
  pointer-events: none;
  z-index: 2;
}
:is(.full-cover-link) ~ :is(.full-cover-inner) a,
:is(.full-cover-link) ~ :is(.full-cover-inner) button,
:is(.full-cover-link) ~ :is(.full-cover-inner) input,
:is(.full-cover-link) ~ :is(.full-cover-inner) textarea,
:is(.full-cover-link) ~ :is(.full-cover-inner) select,
:is(.full-cover-link) ~ :is(.full-cover-inner) .dialog,
:is(.full-cover-link) ~ :is(.full-cover-inner) .full-cover-solid {
  pointer-events: auto;
}

.shopify-design-mode :is(.full-cover-content > *, .full-cover-inner > *) {
  pointer-events: auto;
}

custom-cursor {
  position: fixed;
  z-index: 9999;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  top: var(--cursor-y, -100px);
  left: var(--cursor-x, -100px);
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  color: var(--color-cursor-text);
  background-color: var(--color-cursor-background);
  transition: width var(--animation-speed-slow) ease, height var(--animation-speed-slow) ease;
}
custom-cursor .icon {
  width: 0;
  height: 0;
  transition: width var(--animation-speed-slow) ease, height var(--animation-speed-slow) ease;
}
custom-cursor.active {
  width: clamp(5rem, 4.2vw, 6.4rem);
  height: clamp(5rem, 4.2vw, 6.4rem);
}
custom-cursor.active svg {
  width: clamp(2rem, 1.7vw, 2.2rem);
  height: clamp(2rem, 1.7vw, 2.2rem);
}

.pagination__list {
  gap: 0.4rem;
}
.pagination li {
  line-height: 1;
}
.pagination__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: top;
  gap: var(--gap-6);
  border-radius: var(--button-radius);
}
.pagination__item--next {
  padding-inline: 1.2rem 0;
  font-size: max(1.4rem, var(--button-font-size));
}
.pagination__item--previous {
  padding-inline: 0 1.2rem;
}
@media (hover: hover) and (pointer: fine) {
  .pagination__item-arrow--prev:hover .pagination__item-text::after {
    inset-inline-start: 0.4rem;
  }
}
.pagination__item:not(.pagination__item--current, .pagination__item-arrow, :hover) {
  --color-primary-button-background: transparent;
  --color-secondary-button-background: transparent;
  --color-outline-button-border: transparent;
  --color-primary-button-text: var(--color-foreground);
  --color-secondary-button-text: var(--color-foreground);
  --color-subtle-button-text: var(--color-foreground);
}
.pagination__item:not(.pagination__item--current, .pagination__item-arrow):after {
  transform: scaleX(0);
}
.pagination__item--current.btn {
  opacity: 1;
  cursor: default;
  pointer-events: none;
}
.pagination__item-arrow {
  --button-gap: 0.4rem;
  --button-padding-y: 0.3rem;
  padding-inline: 0;
  line-height: 1;
}
.pagination__item-arrow--prev {
  margin-inline-end: 1.6rem;
}
.pagination__item-arrow--next {
  margin-inline-start: 1.6rem;
}
.pagination__btn {
  --button-width: 21.3;
  --button-base-size: 4.8;
  min-width: min(var(--button-width) / var(--button-base-size) * var(--button-height), var(--button-width) * 1rem);
}

@media (max-width: 767px) {
  .pagination__item-arrow--prev {
    margin-inline-end: 0;
  }
  .pagination__item-arrow--next {
    margin-inline-start: 0;
  }
}
.predictive-search.searching .predictive-search__reset {
  opacity: 1;
  pointer-events: auto;
}
.predictive-search.searching .predictive-search__submit {
  opacity: 0;
  pointer-events: none;
}
.predictive-search__recently-searched:not(:has(li)) {
  display: none;
}
.predictive-search__input {
  padding-inline-end: 6rem;
}
.predictive-search__reset-icon {
  width: 1.6rem;
  height: 1.6rem;
}
.predictive-search__reset-icon svg {
  width: 100%;
  height: 100%;
}
.predictive-search__btn {
  grid-area: 1/1/end/end;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  background: transparent;
  border: none;
  padding: 0;
  color: var(--color-foreground);
  transition: none;
}
@media (hover: hover) and (pointer: fine) {
  .predictive-search__btn:hover {
    color: var(--color-foreground);
    background: transparent;
  }
}
.predictive-search__submit svg {
  width: 2.4rem;
  height: 2.4rem;
}
.predictive-search__reset {
  opacity: 0;
  pointer-events: none;
  position: relative;
}
.predictive-search__reset .spinner {
  opacity: 0;
  pointer-events: none;
}
.predictive-search:has(.predictive-search__input:not(:placeholder-shown)) .predictive-search__reset {
  opacity: 1;
  pointer-events: auto;
}
.predictive-search:has(.predictive-search__input:not(:placeholder-shown)) .predictive-search__submit {
  opacity: 0;
  pointer-events: none;
}
.predictive-search__actions {
  --button-height: var(--input-height, 4.4rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  height: 100%;
  aspect-ratio: 1;
  inset-inline-end: 0.5rem;
}
.predictive-search__actions.loading .predictive-search__reset {
  pointer-events: none;
}
.predictive-search__actions.loading .predictive-search__reset-icon {
  opacity: 0;
  pointer-events: none;
}
.predictive-search__actions.loading .spinner {
  opacity: 1;
  pointer-events: auto;
}
.predictive-search__suggestions {
  column-gap: 2rem;
  row-gap: 0.6rem;
}
.predictive-search .product-card-compact__image {
  width: 11rem;
}
@media (max-width: 767px) {
  .predictive-search .product-card-compact__image {
    width: 9rem;
  }
}

.product-recommendations[data-recommendations-performed=false] {
  padding: 0;
}

.product-recommendations[data-recommendations-performed=true]:not(:has(.product-list-recommendations .product-card-list)) {
  display: none;
}

@media only screen and (max-width: 1024px) {
  .product-recommendations .swiper-slide:only-child:has(.product-card-compact) {
    width: 100% !important;
  }
}
body .shopify-policy__container {
  --page-padding: 5rem;
  max-width: 75rem;
  padding-inline: var(--page-padding);
  margin-block: 8rem;
}
@media (max-width: 767px) {
  body .shopify-policy__container {
    --page-padding: 1.6rem;
    margin-block: 5rem;
  }
}

.shopify-policy__title h1 {
  margin-bottom: 3rem;
  font-size: var(--font-h2-size);
}

.custom-popup .custom-popup-floating-button {
  display: none;
}

.section-content--boxed {
  padding: var(--boxed-padding-block) var(--boxed-padding-inline);
  border: var(--boxed-border-width, 0px) solid var(--color-border);
  overflow: clip;
}
@media (max-width: 1279px) {
  .section-content--boxed {
    --boxed-padding-inline-xl: min(var(--boxed-padding-inline), 4rem);
    padding-inline: var(--boxed-padding-inline-xl);
  }
}
@media (max-width: 1024px) {
  .section-content--boxed {
    --boxed-padding-inline-lg: min(var(--boxed-padding-inline), 3rem);
    padding-inline: var(--boxed-padding-inline-lg);
  }
}
@media (max-width: 767px) {
  .section-content--boxed {
    padding: var(--boxed-padding-block-mobile) var(--boxed-padding-inline-mobile);
  }
}

.section-content--boxed-block {
  padding-block: var(--boxed-padding-block);
}
@media (max-width: 767px) {
  .section-content--boxed-block {
    padding-block: var(--boxed-padding-block-mobile);
  }
}

.section-stack-grid {
  --stack-grid-header-gap: 2.4rem;
  display: grid;
}
.section-stack-grid > .header-block {
  align-self: center;
}
.section-stack-grid > .stack-grid-actions .swiper-navigation {
  --swiper-nav-icon-size: 2rem;
  position: static;
  gap: 1rem;
}
.section-stack-grid > .stack-grid-actions .swiper-navigation:has(.btn--text) {
  gap: 0;
}
.section-stack-grid > .stack-grid-actions .swiper-btn {
  --swiper-nav-size: 3.4rem;
  --swiper-nav-icon-size: 2rem;
  --button-height-mobile: 3.4rem;
  margin-inline: 0;
  min-height: var(--swiper-nav-size);
}
.section-stack-grid > .stack-grid-cards {
  min-width: 0;
}

.section-stack-grid--started {
  column-gap: var(--stack-grid-header-gap);
  grid-template-columns: 1fr auto;
}
.section-stack-grid--started > .header-block {
  grid-column: 1;
}
.section-stack-grid--started > .stack-grid-actions {
  grid-column: 2;
  align-self: end;
}
.section-stack-grid--started > .stack-grid-cards {
  grid-column: 1/-1;
}

.section-stack-grid--centered {
  --flex-align: center;
  align-items: center;
  display: flex;
  flex-direction: column;
}
.section-stack-grid--centered > .header-block {
  order: 1;
  align-self: auto;
}
.section-stack-grid--centered > .stack-grid-actions {
  display: contents;
}
.section-stack-grid--centered > .stack-grid-actions .swiper-controls {
  order: 2;
}
.section-stack-grid--centered > .stack-grid-actions .button-block {
  order: 4;
  align-self: center;
}
.section-stack-grid--centered > .stack-grid-cards {
  order: 3;
}
.section-stack-grid--centered:has(> .header-block) > .stack-grid-actions .swiper-controls {
  margin-top: calc(var(--gap) * -1px + var(--stack-grid-header-gap));
}

@media (max-width: 767px) {
  .section-stack-grid--started {
    display: flex;
    flex-direction: column;
  }
  .section-stack-grid--started > .header-block {
    order: 1;
    align-self: auto;
  }
  .section-stack-grid--started > .stack-grid-actions {
    display: contents;
  }
  .section-stack-grid--started > .stack-grid-actions .swiper-controls {
    order: 2;
  }
  .section-stack-grid--started > .stack-grid-actions .button-block {
    order: 4;
    align-self: center;
  }
  .section-stack-grid--started > .stack-grid-cards {
    order: 3;
  }
}
/* Custom section */
@media (min-width: 768px) {
  .custom-section .section-content.layout-flex--row:has(> :nth-child(2)) .carousel-block:last-child .swiper-component--overflow {
    clip-path: inset(-100vh -100vw -100vh -5px);
  }
  .custom-section .section-content.layout-flex--row:has(> :nth-child(2)) .carousel-block:last-child .swiper-component--overflow:not(.swiper-component--nav-inside) {
    clip-path: inset(-100vh -100vw -100vh -25px);
  }
  .custom-section .section-content.layout-flex--row:has(> :nth-child(2)) .carousel-block:not(:last-child) .swiper-component--overflow {
    clip-path: inset(-100vh -5px -100vh -100vw);
  }
  .custom-section .section-content.layout-flex--row:has(> :nth-child(2)) .carousel-block:not(:last-child) .swiper-component--overflow:not(.swiper-component--nav-inside) {
    clip-path: inset(-100vh -25px -100vh -100vw);
  }
  .custom-section .section-content.layout-flex--row:has(> :nth-child(2)) .carousel-block:not(:last-child):not(:first-child) .swiper-component--overflow {
    clip-path: inset(-100vh -5px -100vh -5px);
  }
  .custom-section .section-content.layout-flex--row:has(> :nth-child(2)) .carousel-block:not(:last-child):not(:first-child) .swiper-component--overflow:not(.swiper-component--nav-inside) {
    clip-path: inset(-100vh -25px -100vh -25px);
  }
}
.quantity-selector {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: var(--input-radius);
  border: var(--input-border-width, 1px) solid var(--input-border-color, transparent);
  color: var(--input-text-color, var(--color-foreground));
  background-color: var(--input-background-color, transparent);
  font-family: var(--font-body-family);
  font-weight: var(--font-body-weight);
  font-size: var(--font-body-size);
  height: var(--input-height, 4.8rem);
  line-height: var(--input-height, 4.8rem);
  align-self: stretch;
}

.quantity-selector :is(.quantity-minus, .quantity-plus) {
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--minimum-touch-target, 3.6rem);
  height: 100%;
  flex-shrink: 0;
  color: var(--color-heading);
}

.quantity-selector :is(.quantity-plus) {
  padding-inline-end: 0.8rem;
}

.quantity-selector :is(.quantity-minus) {
  padding-inline-start: 0.8rem;
}

.quantity-selector input[type=number] {
  --quantity-selector-input-width: 3.6rem;
  margin: 0;
  text-align: center;
  border: none;
  appearance: none;
  max-width: var(--quantity-selector-input-width);
  color: var(--color-heading);
  background-color: transparent;
  font-weight: 500;
}

.quantity-selector input[type=number]:focus {
  outline: 0.2rem solid transparent;
  outline-offset: 0.3rem;
}

/* Chrome, Safari, Edge, Opera */
.quantity-selector input[type=number]::-webkit-inner-spin-button,
.quantity-selector input[type=number]::-webkit-outer-spin-button {
  appearance: none;
}

/* Firefox */
.quantity-selector input[type=number] {
  appearance: textfield;
}

@media only screen and (max-width: 767px) {
  .quantity-selector {
    height: var(--input-height-mobile, 4.8rem);
    line-height: var(--input-height-mobile, 4.8rem);
  }
}
.quantity-rules__item + .quantity-rules__item::before {
  content: "";
  display: inline-block;
  width: 0.3rem;
  height: 0.3rem;
  margin-inline: 0.8rem;
  border-radius: 50%;
  background-color: currentcolor;
  vertical-align: middle;
}

.volume-pricing {
  padding: 1.6rem;
  background-color: rgb(var(--color-foreground-rgb)/4%);
}

.volume-pricing:not(:has(.volume-pricing__list)) {
  display: none;
}

.volume-pricing__list {
  padding: 0;
  list-style: none;
}

.volume-pricing__row {
  padding: 0.8rem 1.2rem;
}

.volume-pricing__row:nth-child(odd) {
  background-color: var(--color-background);
}

.volume-pricing__toggle {
  justify-self: start;
}

/* Only once the component has measured a collapsed height does the list clip and animate. */
.volume-pricing__list[style*="--collapse-height"] {
  max-height: var(--collapse-height);
  overflow: hidden;
  transition: max-height var(--animation-speed) var(--animation-easing);
}

@media (prefers-reduced-motion: reduce) {
  .volume-pricing__list[style*="--collapse-height"] {
    transition: none;
  }
}
.progress-bar {
  width: 100%;
  position: relative;
  height: var(--progress-bar-height, 5px);
  border-radius: var(--progress-bar-border-radius, 3px);
  background-color: var(--color-background-bar);
  overflow: hidden;
  display: block;
}

.progress-bar__fill {
  height: 100%;
  width: var(--progress, 0%);
  background: var(--color-progress-bar);
  transition: width 0.7s cubic-bezier(0.7, 0, 0.3, 1);
  border-radius: var(--progress-bar-border-radius, 3px);
}

.collapsible-text__content {
  max-height: var(--collapse-height);
  transition: max-height var(--animation-speed) var(--animation-easing);
  overflow: hidden;
}

.collapsible-text__content:not(.collapse-expanded) {
  -webkit-mask-image: linear-gradient(to bottom, #fff 0, #fff calc(100% - 40px), transparent 100%);
  mask-image: linear-gradient(to bottom, #fff 0, #fff calc(100% - 40px), transparent 100%);
}

.collapsible-text__content[data-lines-limit] {
  --collapse-height: calc(var(--font-body-line-height) * var(--font-body-size) * var(--lines-limit));
}

.highlighted-text {
  --highlight-delay: calc(var(--animation-delay, 0ms) + (var(--index, 0) * 150ms));
  font-style: normal;
  line-height: 1;
  z-index: 1;
  transition-property: color, background-size, transform;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  transition-delay: var(--highlight-delay);
}

.highlighted-text:nth-child(1) {
  --index: 1;
}

.highlighted-text:nth-child(2) {
  --index: 2;
}

.highlighted-text:nth-child(3) {
  --index: 3;
}

.highlighted-text:nth-child(4) {
  --index: 4;
}

.highlighted-text:nth-child(5) {
  --index: 5;
}

.highlighted-text[data-style=none],
.highlighted-text[data-style=text_color] {
  display: inline;
}

.highlighted-text[data-style=none] {
  line-height: inherit;
}

.highlighted-text--font-heading {
  font-family: var(--font-heading-family);
  font-weight: var(--font-heading-weight);
}

.highlighted-text--font-body {
  font-family: var(--font-body-family);
  font-weight: var(--font-body-weight);
}

.highlighted-text--font-accent {
  font-family: var(--font-accent-family);
  font-weight: var(--font-accent-weight);
}

.highlighted-text[data-style=text_color].has-gradient {
  background-image: var(--color-heading-hightlight-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  background-repeat: no-repeat;
  background-position: left 100%;
  background-size: 0 100%;
}

.highlighted-text:is([data-style=highlight_bar], [data-style=highlight_solid]) {
  background-image: linear-gradient(to right, var(--color-heading-hightlight) 0% 100%);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0 28%;
}

.highlighted-text:is([data-style=highlight_bar], [data-style=highlight_solid]).has-gradient {
  background-image: var(--color-heading-hightlight-gradient);
}

.highlighted-text:is([data-style=highlight_solid]) {
  background-size: 0 100%;
  line-height: inherit;
  padding-inline: 0.7rem;
  border-radius: calc(var(--container-border-radius) * 0.3);
}

.highlighted-text .icon {
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  color: var(--color-heading-hightlight);
  z-index: -1;
  width: 100%;
  inset-block-start: 95%;
  opacity: 0;
  height: auto;
}

.highlighted-text .icon path {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}

.highlighted-text .icon:is(.icon-circle-outline) {
  width: 115%;
  top: 50%;
  inset-inline-start: 50%;
  transform: translate(calc(-50% * var(--transform-logical)), -50%);
  min-height: 1.2em;
}

.highlighted-text.revealed.highlighted-text--rotated {
  transform: rotate(var(--rotate));
}

.highlighted-text.revealed .icon {
  opacity: 1;
  transition-delay: var(--highlight-delay);
}

.highlighted-text.revealed[data-style=text_color] {
  color: var(--color-heading-hightlight);
}

.highlighted-text.revealed[data-style=text_color].has-gradient {
  background-size: 100% 100%;
}

.highlighted-text.revealed[data-style=highlight_bar] {
  background-size: 100% 28%;
}

.highlighted-text.revealed[data-style=highlight_solid] {
  background-size: 100% 100%;
  color: var(--color-hightlight-text, var(--color-heading));
}

.highlighted-text.revealed .icon path {
  opacity: 1;
  animation: drawHighlightStroke 1s cubic-bezier(0.65, 0, 0.35, 1) forwards;
  animation-delay: var(--highlight-delay);
}

.copy-to-clipboard__button {
  gap: 1rem;
  line-height: normal;
}

.copy-to-clipboard__button.has-background {
  gap: 0.8rem;
  background-color: var(--color-background-gray-600);
  padding: 0.6rem 1.2rem;
  border-radius: var(--pills-border-radius);
}

.copy-to-clipboard--copied .copy-to-clipboard__copy-icon {
  display: none;
}

.copy-to-clipboard--copied .copy-to-clipboard__check-icon {
  display: block;
}

.copy-to-clipboard__value {
  font-size: 1em;
}

.copy-to-clipboard__icon {
  width: 1em;
  height: 1em;
}

.copy-to-clipboard__icon svg {
  width: 1em;
  height: 1em;
}

.payment-icons__list {
  justify-content: var(--text-align, var(--text-align-default, start));
}

.payment-icons__item svg {
  width: var(--icon-width, 3.8rem);
  height: auto;
}

.variant-option--buttons {
  margin: 0;
  padding: 0;
  border: none;
  list-style: none;
}
.variant-option--buttons li {
  list-style: none;
}

.variant-option__swatch-label {
  --swatch-border-color: rgb(var(--color-foreground-rgb) / var(--border-swatch-opacity, 5%));
  --swatch-height: calc(var(--swatch-width, 20px) / var(--swatch-height-ratio, 1));
  --swatch-height-mobile: calc(var(--swatch-width-mobile, 20px) / var(--swatch-height-ratio, 1));
  padding: 0;
  cursor: pointer;
  border: none;
  display: block;
  flex-basis: auto;
  min-height: auto;
  border-radius: var(--swatch-radius);
  width: var(--swatch-width, 20px);
  height: var(--swatch-height, 20px);
  transition: all var(--animation-speed-slow) var(--animation-easing);
  border-width: var(--swatch-border-width, 1px);
  border-style: solid;
  border-color: var(--swatch-border-color);
}
@media (max-width: 767px) {
  .variant-option__swatch-label {
    width: var(--swatch-width-mobile, 20px);
    height: var(--swatch-height-mobile, 20px);
  }
}

.variant-option__swatch-label:has(.variant-option__swatch-box--white) {
  --border-swatch-opacity: 15%;
}

.variant-option__swatch-label:has(:focus-visible) {
  outline: var(--focus-outline-width, 0.2rem) solid var(--color-keyboard-focus, #0B61CD);
  outline-offset: var(--focus-outline-offset, 0.3rem);
}

.variant-option__swatch-label:has(:checked) {
  border-color: var(--color-heading);
}
.variant-option__swatch-label:has(:checked) .variant-option__swatch-box {
  --swatch-box-border-radius: calc(var(--swatch-radius, 12px) - 0px);
}
.variant-option__swatch-label:has(:checked) .variant-option__swatch-box:before {
  border-color: var(--color-background);
}

.variant-swatch--selected-style-underline .variant-option__swatch,
.variant-swatch--selected-style-underline li[slot=more] {
  padding-bottom: 5px;
}
.variant-swatch--selected-style-underline .variant-option__swatch {
  position: relative;
}
.variant-swatch--selected-style-underline .variant-option__swatch:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background-color: transparent;
  transition: background-color var(--animation-speed-slower) var(--animation-easing);
}
.variant-swatch--selected-style-underline .variant-option__swatch:has(:checked):after {
  background-color: var(--color-heading);
}
.variant-swatch--selected-style-underline .variant-option__swatch-box:before {
  display: none;
}
.variant-swatch--selected-style-underline .variant-option__swatch-label:not(:has(.variant-option__swatch-box--white)) {
  --swatch-border-width: 0px;
}
.variant-swatch--selected-style-underline .variant-option__swatch-label:has(:checked) {
  border-color: var(--swatch-border-color);
}

.variant-option__swatch-label:has(:checked) {
  pointer-events: none;
}

.variant-option__swatch-box {
  --swatch-box-border-radius: var(--swatch-radius, 12px);
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: var(--swatch-box-border-radius);
  width: 100%;
  height: 100%;
  background: var(--swatch-box-background);
  background-position: var(--swatch-box-focal-point, center);
  background-size: var(--swatch-width, cover);
  background-repeat: no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  .variant-option__swatch-box {
    background-size: var(--swatch-width-mobile, cover);
  }
}
.variant-option__swatch-box:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 3px solid transparent;
  border-radius: var(--swatch-box-border-radius);
  transition: border var(--animation-speed-slower) var(--animation-easing);
}

.variant-option__swatch-label {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}

.variant-option__swatch-label input,
.variant-option__button-label input,
.variant-option--images input {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  margin: 0;
  border: none;
  cursor: pointer;
  width: 100%;
  height: 100%;
  border-radius: 0;
}

.variant-option__swatch-label input {
  --swatch-hit-area: max(100%, min(2.4rem, calc(100% + var(--variant-gap, 0px))));
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  width: var(--swatch-hit-area);
  height: var(--swatch-hit-area);
}

.variant-option__swatch-label svg,
.variant-option__button-label svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  pointer-events: none;
  background-color: rgb(var(--color-background-rgb)/0.5);
  border-radius: inherit;
}

.hidden-swatches__count {
  display: flex;
  align-self: center;
  align-items: center;
  justify-content: center;
  color: var(--color-foreground);
  height: var(--swatch-height, 20px);
  padding-inline: 0.5rem;
  margin-inline: -0.5rem;
}
.hidden-swatches__count .bouncing-dots {
  gap: 0;
}
@media (max-width: 767px) {
  .hidden-swatches__count {
    width: var(--swatch-height-mobile, 16px);
    height: var(--swatch-height-mobile, 16px);
  }
}

.hidden-swatches__count-label {
  position: relative;
  display: inline-block;
  line-height: 1;
}
.hidden-swatches__count-label:after {
  position: absolute;
  bottom: -3px;
  inset-inline-end: 0;
  content: "";
  width: 0;
  height: 1px;
  background: currentColor;
  position: absolute;
  transition: width var(--animation-speed) var(--animation-easing);
}

@media (pointer: fine) and (hover: hover) {
  .hidden-swatches__count:hover {
    color: var(--color-heading);
  }
  .hidden-swatches__count:hover .hidden-swatches__count-label:after {
    width: 100%;
    inset-inline-start: 0;
    inset-inline-end: auto;
  }
}
.variant-selector {
  width: fit-content;
  min-height: 2.4rem;
}
.variant-selector:has(.form__control--styled-select:focus) {
  box-shadow: var(--select-focus-underline, inset 0 -0.1rem var(--color-heading));
}
.variant-selector .form__control--styled-select {
  padding-block: var(--select-tap-bleed, 0.6rem);
  margin-block: calc(var(--select-tap-bleed, 0.6rem) * -1);
}
.variant-selector .form__control--styled-select:focus {
  box-shadow: none;
}

.variant-picker__form {
  gap: var(--variant-group-gap);
}

.variant-option__label {
  font-size: var(--font-size-lg);
  margin-bottom: calc(var(--variant-label-spacing, 0.8rem) - var(--variant-gap, 0px));
  padding: 0;
}
.variant-option__label-text {
  font-family: var(--font-accent-family);
  color: var(--variant-option-label-color, var(--color-heading));
  font-weight: 500;
}
.variant-option__label .variant-size-chart-dialog {
  margin-inline-start: auto;
  padding-inline-start: 10px;
  display: inline-flex;
  width: auto;
}
.variant-option__control {
  height: var(--variant-height, 4.4rem);
  line-height: 1;
  padding: 0 calc(var(--variant-height, 4.4rem) / 2.75);
  border-radius: var(--variant-radius);
  color: var(--color-heading);
}
.variant-option__control:not(.form__control--select) {
  border: var(--input-border-width, 1px) solid var(--color-border);
}
.variant-option__button-label:not(.variant-option__swatch-label) {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 7rem;
  transition: all var(--animation-speed) var(--animation-easing);
  overflow: hidden;
  color: var(--color-heading);
}
.variant-option__button-label:not(.variant-option__swatch-label):has(input:focus-visible) {
  outline: var(--focus-outline-width, 0.2rem) solid var(--color-keyboard-focus, #0B61CD);
  outline-offset: var(--focus-outline-offset, 0.3rem);
}
@media (hover: hover) and (pointer: fine) {
  .variant-option__button-label:not(.variant-option__swatch-label):hover {
    background-color: var(--color-background-gray-600);
  }
}
.variant-option__button-label:not(.variant-option__swatch-label):has(:checked) {
  background-color: var(--color-heading);
  color: var(--color-background);
}
.variant-option__button-label--disabled:has(:checked) {
  border: none;
}
.variant-option__select-wrapper .svg-icon {
  position: absolute;
  inset-inline-end: calc(var(--variant-height, 4.4rem) / 2.75 - 2px);
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.8rem;
  pointer-events: none;
}
.variant-option--buttons, .variant-option--dropdowns {
  gap: var(--variant-gap);
}

@media only screen and (max-width: 767px) {
  .variant-option__control {
    height: var(--variant-height-mobile, 4.4rem);
    line-height: var(--variant-height-mobile, 4.4rem);
    padding: 0 calc(var(--variant-height-mobile, 4.4rem) / 2.75);
  }
  .variant-option__select-wrapper .svg-icon {
    inset-inline-end: calc(var(--variant-height-mobile, 4.4rem) / 2.75 - 2px);
  }
}
.price-container {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: var(--compare-at-price-spacing, 6px);
  row-gap: 0;
}

.price {
  color: var(--color-heading);
}

.from-price {
  color: var(--color-foreground);
  font-size: 0.85em;
}

.sale-price {
  color: var(--color-sale-price, #D82727);
}

.compare-at-price {
  font-size: 0.85em;
  color: var(--color-heading);
  opacity: 0.7;
}

.unit-price {
  font-size: 0.8em;
  color: var(--color-heading);
  opacity: 0.6;
  margin-top: var(--unit-price-spacing, 2px);
}

.product-price .product-price__volume-note {
  font-size: var(--font-size-sm);
}

/* Quick View */
.quick-view {
  --button-height: 4.4rem;
  --button-height-mobile: 3.4rem;
  --button-icon-size: 2.0rem;
  --button-icon-size-mobile: 1.6rem;
  position: absolute;
  z-index: 2;
  inset-block-start: 0;
  inset-inline-end: 0;
  padding: var(--quick-view-offset, 1.2rem);
}
.quick-view__button {
  transform: translateX(1rem);
  opacity: 0;
  transition: all var(--animation-speed-slower) cubic-bezier(0.4, 0, 0.2, 1);
  background-color: var(--color-light-button-background, #ffffff);
  color: var(--color-light-button-text, #1C1C1C);
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.07);
}
@media (hover: none) {
  .quick-view__button {
    transform: translateX(0);
    opacity: 1;
  }
}
@media (hover: hover) and (pointer: fine) {
  .quick-view__button:hover {
    background-color: var(--color-primary-button-background);
    color: var(--color-primary-button-text);
    border-color: rgba(255, 255, 255, 0.2);
  }
}

.quick-view__button:focus-visible {
  transform: translateX(0);
  opacity: 1;
}

@media (hover: hover) and (pointer: fine) {
  .product-card__content:hover .quick-view__button {
    transform: translateX(0);
    opacity: 1;
  }
}
/* Quick Add */
.quick-add {
  width: 100%;
  position: absolute;
  inset-block-end: 0;
  inset-inline-end: 0;
  z-index: 2;
  display: flex;
  justify-content: end;
  background-color: transparent;
  padding: var(--quick-add-offset, 1.2rem);
}
.quick-add__button {
  transform: translateY(1rem);
  opacity: 0;
  transition: all var(--animation-speed-slower) cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(0, 0, 0, 0.07);
}
@media (hover: none) {
  .quick-add__button {
    transform: translateY(0);
    opacity: 1;
  }
}
@media (hover: hover) and (pointer: fine) {
  .quick-add__button:hover {
    border-color: var(--color-primary-button-hover-border);
  }
}
.quick-add .product-form__error {
  background: var(--color-primary-button-background);
  color: var(--color-primary-button-text);
  padding: 10px;
  text-align: start;
  bottom: 1rem;
}
.quick-add-compact {
  position: relative;
}
.quick-add-compact .product-form__error {
  position: absolute;
  width: 250px;
  inset-inline-end: 0;
  top: 100%;
  padding: 1rem;
  background-color: var(--color-background);
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  z-index: 10;
}

.quick-add:has(.quick-add__button.btn--icon) {
  --button-height: 4.4rem;
  --button-icon-size: 2.0rem;
}

@media only screen and (max-width: 767px) {
  .quick-add {
    --button-height-mobile: 3.4rem;
    --button-icon-size-mobile: 1.6rem;
  }
}
.quick-add__button:focus-visible {
  transform: translateY(0);
  opacity: 1;
}

@media (hover: hover) and (pointer: fine) {
  .product-card__content:hover .quick-add__button {
    transform: translateY(0);
    opacity: 1;
  }
}
.quick-add__button.has-error {
  display: none;
}

@media only screen and (min-width: 768px) {
  .quick-add--w-full {
    inset-inline-start: 0;
    justify-content: center;
    width: 100%;
  }
  .quick-add--w-full .quick-add__button,
  .quick-add--w-full .quick-add__product-form-component {
    width: 100%;
  }
  .quick-add--w-full .quick-add__button {
    padding-inline: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .quick-add .quick-add__button {
    min-width: var(--button-height-mobile, var(--button-height));
    padding: 0;
  }
  .quick-add .quick-add__button .bouncing-dots {
    gap: 0.4rem;
  }
  .quick-add .quick-add__button .bouncing-dots span {
    width: 0.6rem;
    height: 0.6rem;
  }
}
@media (max-width: 479px) {
  .layout-grid[style*="--columns-xs:1"] .quick-view__button,
  .layout-grid[style*="--columns-xs:1"] .quick-add__button,
  .carousel-component[style*="--columns-xs:1"] .quick-view__button,
  .carousel-component[style*="--columns-xs:1"] .quick-add__button,
  .layout-grid[style*="--columns-mobile: 1"]:not([style*="--columns-xs:"]) .quick-view__button,
  .layout-grid[style*="--columns-mobile: 1"]:not([style*="--columns-xs:"]) .quick-add__button,
  .carousel-component[style*="--columns-mobile: 1"]:not([style*="--columns-xs:"]) .quick-view__button,
  .carousel-component[style*="--columns-mobile: 1"]:not([style*="--columns-xs:"]) .quick-add__button,
  .swipe-mobile--xs-1-columns .quick-view__button,
  .swipe-mobile--xs-1-columns .quick-add__button,
  .swipe-mobile--1-columns:not([class*=swipe-mobile--xs-]) .quick-view__button,
  .swipe-mobile--1-columns:not([class*=swipe-mobile--xs-]) .quick-add__button {
    --min-button-height-mobile: max(var(--button-height-mobile, var(--button-height)), 4rem);
    min-width: var(--min-button-height-mobile);
    min-height: var(--min-button-height-mobile);
  }
}
@media (min-width: 480px) and (max-width: 767px) {
  .layout-grid[style*="--columns-sm:1"] .quick-view__button,
  .layout-grid[style*="--columns-sm:1"] .quick-add__button,
  .carousel-component[style*="--columns-sm:1"] .quick-view__button,
  .carousel-component[style*="--columns-sm:1"] .quick-add__button,
  .layout-grid[style*="--columns-mobile: 1"]:not([style*="--columns-sm:"]) .quick-view__button,
  .layout-grid[style*="--columns-mobile: 1"]:not([style*="--columns-sm:"]) .quick-add__button,
  .carousel-component[style*="--columns-mobile: 1"]:not([style*="--columns-sm:"]) .quick-view__button,
  .carousel-component[style*="--columns-mobile: 1"]:not([style*="--columns-sm:"]) .quick-add__button,
  .swipe-mobile--sm-1-columns .quick-view__button,
  .swipe-mobile--sm-1-columns .quick-add__button,
  .swipe-mobile--1-columns:not([class*=swipe-mobile--sm-]) .quick-view__button,
  .swipe-mobile--1-columns:not([class*=swipe-mobile--sm-]) .quick-add__button {
    --min-button-height-mobile: max(var(--button-height-mobile, var(--button-height)), 4rem);
    min-width: var(--min-button-height-mobile);
    min-height: var(--min-button-height-mobile);
  }
}
/* Quick Edit */
.quick-edit-component {
  margin: -5px;
  margin-inline-start: -3px;
  padding: 5px;
}
.quick-edit-component .quick-edit__button {
  --spinner-size: 1.4rem;
  padding: 0;
}

.product-card__badges {
  display: flex;
  flex-direction: column;
  position: absolute;
  z-index: var(--z-index-badges, 2);
  pointer-events: none;
  inset-block-start: var(--badges-top, 1.2rem);
  inset-inline-start: var(--badges-left, 1.2rem);
  gap: var(--badges-gap, 0.6rem);
}
.product-card__details {
  display: flex;
  flex-direction: column;
  align-items: var(--details-alignment, start);
  text-align: var(--details-alignment, start);
  flex: 1;
  justify-content: flex-start;
  flex-grow: 1;
  gap: var(--details-gap);
  padding-block-start: var(--pcard-content-spacing);
}
.product-card__details .price-container {
  justify-content: var(--details-alignment, start);
}
.product-card__info {
  display: flex;
  flex-direction: column;
  gap: var(--info-gap);
}
.product-card__details--inline-price {
  --details-alignment: start;
}
.product-card--card {
  border-radius: var(--media-border-radius, 0);
  border: var(--pcard-border-width, 0) solid var(--color-border);
}
.product-card--card .product-card__details {
  margin-block-start: -1px;
  padding-block-start: calc(var(--pcard-content-spacing) + 1px);
  padding-block-end: var(--pcard-content-spacing);
  padding-inline: var(--details-spacing, 2.2rem);
  border-bottom-left-radius: var(--media-border-radius);
  border-bottom-right-radius: var(--media-border-radius);
  overflow: hidden;
}
.product-card--card .product-card__image,
.product-card--card .product-card__image iframe,
.product-card--card .product-card__image video {
  --image-border-radius: calc(var(--media-border-radius) - var(--pcard-border-width));
  border-top-left-radius: var(--image-border-radius);
  border-top-right-radius: var(--image-border-radius);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  overflow: hidden;
}
.product-card__media:has(deferred-media) .product-media__image {
  transition: transform 0.5s cubic-bezier(0.2, 0.75, 0.5, 1);
}
.product-card__media:has(.product-media--primary-image:is(deferred-media)):has(.product-media--secondary-image:is(.image-component)) .product-media__image {
  transition: transform 0.5s ease-in-out, opacity 0s 0.35s;
}
.product-card__image {
  border-radius: var(--media-border-radius);
  overflow: hidden;
  text-align: center;
  container-type: inline-size;
  --ratio-mobile: var(--ratio);
}
.product-card__image .image-component {
  display: flex;
  align-items: center;
  justify-content: center;
}
.product-card__image--adapt .image-component {
  aspect-ratio: auto;
}
.product-card__image--fill .image-component img {
  width: 100%;
  height: 100%;
}
.product-card__image .product-media__image {
  transition: transform 0.5s cubic-bezier(0.2, 0.75, 0.5, 1), opacity 0.5s;
}
.product-card__image .product-media--secondary-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  opacity: 0;
}
.product-card__image .product-media--secondary-image:is(deferred-media) {
  inset: 0;
  height: 100%;
  transition: none;
}
.product-card__image deferred-media.product-media--primary-image {
  transition: none;
}
.product-card__image deferred-media {
  display: flex;
}
.product-card__ranking {
  position: absolute;
  inset-block-start: clamp(16px, 7%, 30px);
  inset-inline-end: clamp(16px, 12%, 40px);
  z-index: 2;
  color: var(--color-ranking, var(--color-foreground));
  line-height: 1;
  font-weight: 700;
  font-style: italic;
  transform: translateY(-0.1em);
  font-size: 95px;
  font-size: clamp(95px, 38cqw, 200px);
}
@media only screen and (min-width: 1025px) {
  .swiper-initialized .swiper-slide .product-card__badges, .swiper-initialized .swiper-slide .product-card__ranking {
    will-change: transform;
    backface-visibility: hidden;
  }
}
.product-card__title {
  font-size: var(--pcard-title-font-size);
  font-weight: var(--pcard-title-font-weight);
  font-style: var(--pcard-title-font-style);
  font-family: var(--pcard-title-font-family);
  line-height: var(--pcard-title-line-height);
  text-transform: var(--pcard-title-text-transform);
  letter-spacing: var(--pcard-title-letter-spacing);
  color: var(--color-heading);
}
.product-card__meta {
  gap: var(--info-gap);
}
@media (max-width: 767px) {
  .product-card__meta {
    gap: var(--info-gap-mobile);
  }
}
.product-card__price {
  font-family: var(--pcard-price-font-family);
  font-size: var(--pcard-price-font-size, 1.4rem);
  font-weight: var(--pcard-price-font-weight);
}
.product-card__swatches {
  --swatch-width: var(--pcard-swatch-width, 20px);
  --swatch-width-mobile: var(--pcard-swatch-width-mobile, 16px);
  --swatch-height-ratio: calc(var(--pcard-swatch-height-ratio, 1));
  gap: var(--pcard-swatches-gap, 8px);
  justify-content: var(--details-alignment, start);
}
.product-card .back-in-stock-button {
  display: none;
}
.product-card.show-back-in-stock .quick-add {
  display: none;
}
.product-card.show-back-in-stock .back-in-stock-button {
  display: flex;
}
.product-card-compact:not(.no-padding-stype) {
  padding: 0.8rem 1.6rem 0.8rem 0.8rem;
}
.product-card-compact__inner.border-style {
  padding: 0.8rem 1.6rem 0.8rem 0.8rem;
}
.product-card-compact__image {
  width: var(--thumbnail-width, 12rem);
  flex-shrink: 0;
  display: flex;
  container: compact-card-image/inline-size;
}
.product-card-compact__image .image-component,
.product-card-compact__image .placeholder-image {
  --ratio-mobile: var(--ratio);
}
@container compact-card-image (width < 90px) {
  @media (hover: hover) and (pointer: fine) {
    .product-card-compact__image:hover .image-component {
      --zoom-hover-scale: 1.08;
    }
  }
}
.product-card-compact__details {
  padding-block: 0.4rem;
  flex: 1;
}
.product-card-compact.atc-position--bottom .quick-add-compact .add-to-cart-icon {
  display: none;
}
.product-card-compact.atc-position--right .product-card-compact__image {
  width: var(--thumbnail-width, 8rem);
}
.product-card-compact.atc-position--right .product-card-compact__details {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.product-card-compact.atc-position--right .quick-add-compact .add-to-cart-text {
  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;
}

@media only screen and (max-width: 767px) {
  .product-card--card .product-card__details {
    padding-block-start: calc(var(--pcard-content-spacing-mobile) + 1px);
    padding-block-end: var(--pcard-content-spacing-mobile);
    padding-inline: var(--details-spacing-mobile, 1.2rem);
  }
  .product-card__details {
    gap: var(--details-gap-mobile);
    padding-block-start: var(--pcard-content-spacing-mobile);
  }
  .product-card__info {
    gap: var(--info-gap-mobile);
  }
  .section.page-full-bleed .product-card--standard .product-card__details {
    padding: var(--details-spacing-mobile, 0.8rem);
  }
  .product-card-compact__image {
    width: var(--thumbnail-width-mobile, 10rem);
  }
  .product-card-compact.atc-position--right .product-card-compact__image {
    width: var(--thumbnail-width-mobile, 8rem);
  }
}
@media (max-width: 479px) {
  .layout-grid[style*="--columns-xs:1"] .product-card--card .product-card__details,
  .carousel-component[style*="--columns-xs:1"] .product-card--card .product-card__details,
  .layout-grid[style*="--columns-mobile: 1"]:not([style*="--columns-xs:"]) .product-card--card .product-card__details,
  .carousel-component[style*="--columns-mobile: 1"]:not([style*="--columns-xs:"]) .product-card--card .product-card__details,
  .swipe-mobile--xs-1-columns .product-card--card .product-card__details,
  .swipe-mobile--1-columns:not([class*=swipe-mobile--xs-]) .product-card--card .product-card__details {
    padding-inline: var(--details-spacing, 2.2rem);
  }
}
@media (min-width: 480px) and (max-width: 767px) {
  .layout-grid[style*="--columns-sm:1"] .product-card--card .product-card__details,
  .carousel-component[style*="--columns-sm:1"] .product-card--card .product-card__details,
  .layout-grid[style*="--columns-mobile: 1"]:not([style*="--columns-sm:"]) .product-card--card .product-card__details,
  .carousel-component[style*="--columns-mobile: 1"]:not([style*="--columns-sm:"]) .product-card--card .product-card__details,
  .swipe-mobile--sm-1-columns .product-card--card .product-card__details,
  .swipe-mobile--1-columns:not([class*=swipe-mobile--sm-]) .product-card--card .product-card__details {
    padding-inline: var(--details-spacing, 2.2rem);
  }
}
@media only screen and (min-width: 768px) {
  .section.page-full-bleed-desktop .product-card--standard .product-card__details,
  .section.page-full-bleed .product-card--standard .product-card__details {
    padding: var(--details-spacing-desktop, 1.6rem);
  }
  .product-card__details--inline-price .product-card__info {
    align-self: stretch;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: max(var(--info-gap), 1.2rem);
  }
  .product-card__details--inline-price .product-card__meta {
    flex-basis: 100%;
  }
  .product-card__details--inline-price .product-card__link {
    flex: 1 1 auto;
  }
  .product-card__details--inline-price .product-card__price {
    flex: 0 0 auto;
  }
}
@media (pointer: fine) and (hover: hover) {
  .product-card__image .product-media__image {
    transform: translateZ(0);
    backface-visibility: hidden;
  }
  .product-card__image--secondary-hover:has(.product-media--primary-image:is(deferred-media)):has(.product-media--secondary-image:is(.image-component)):hover .product-media__image {
    transition: transform 0.5s cubic-bezier(0.2, 0.75, 0.5, 1);
  }
  .product-card__image--secondary-hover .product-media__image {
    will-change: transform;
  }
  .product-card__image--secondary-hover:has(.product-media--secondary-image):hover .product-media__image:not(deferred-media) {
    transform: var(--secondary-scale-hover, scale(1.06)) translateZ(0);
  }
  .product-card__image--secondary-hover:has(.product-media--secondary-image):hover .product-media--secondary-image {
    opacity: 1;
  }
  .product-card__image--secondary-hover:has(.product-media--secondary-image):hover .product-media--primary-image,
  .product-card__image--secondary-hover:has(.product-media--secondary-image):hover .product-video--primary {
    opacity: 0;
  }
  .product-card__image--secondary-hover:has(.product-media--secondary-image):hover deferred-media.product-media--primary-image {
    transition: opacity 0.3s;
  }
}
.product-badges {
  gap: var(--badges-gap, 0.6rem);
}
.product-badges:not(:has(.product-badge)) {
  display: none;
}

.product-badge {
  width: max-content;
  line-height: normal;
  font-size: calc(var(--badge-font-size) * var(--badge-scale, 1));
  font-family: var(--badge-font-family);
  font-weight: var(--badge-font-weight);
  font-style: var(--badge-font-style);
  letter-spacing: var(--badge-letting-spacing);
  text-transform: var(--badge-text-transform);
  border-radius: var(--badge-radius);
  padding-block: calc(var(--badge-padding-block, 0.4rem) * var(--badge-scale, 1));
  padding-inline: calc(var(--badge-padding-inline, 1rem) * var(--badge-scale, 1));
}
.product-badge--collection-1 {
  background: var(--badge-collection-1-background-color);
  color: var(--badge-collection-1-text-color);
  --badge-border-color: var(--badge-collection-1-border-color, transparent);
}
.product-badge--collection-2 {
  background: var(--badge-collection-2-background-color);
  color: var(--badge-collection-2-text-color);
  --badge-border-color: var(--badge-collection-2-border-color, transparent);
}
.product-badge--collection-3 {
  background: var(--badge-collection-3-background-color);
  color: var(--badge-collection-3-text-color);
  --badge-border-color: var(--badge-collection-3-border-color, transparent);
}
.product-badge--custom {
  background: var(--badge-custom-background-color);
  color: var(--badge-custom-text-color);
  --badge-border-color: var(--badge-custom-border-color, transparent);
}
.product-badge--sale {
  background: var(--badge-sale-background-color);
  color: var(--badge-sale-text-color);
  --badge-border-color: var(--badge-sale-border-color, transparent);
}
.product-badge--sold-out {
  background: var(--badge-sold-out-background-color);
  color: var(--badge-sold-out-text-color);
  --badge-border-color: var(--badge-sold-out-border-color, transparent);
}

.product-badges .product-badge {
  border: 1px solid var(--badge-border-color, transparent);
}

@media (max-width: 479px) {
  .layout-grid[style*="--columns-xs:2"],
  .carousel-component[style*="--columns-xs:2"],
  .layout-grid[style*="--columns-mobile: 2"]:not([style*="--columns-xs:"]),
  .carousel-component[style*="--columns-mobile: 2"]:not([style*="--columns-xs:"]),
  .swipe-mobile--xs-2-columns,
  .swipe-mobile--2-columns:not([class*=swipe-mobile--xs-]) {
    --badge-scale: 0.9;
  }
}
@media (min-width: 480px) and (max-width: 767px) {
  .layout-grid[style*="--columns-sm:2"],
  .carousel-component[style*="--columns-sm:2"],
  .layout-grid[style*="--columns-mobile: 2"]:not([style*="--columns-sm:"]),
  .carousel-component[style*="--columns-mobile: 2"]:not([style*="--columns-sm:"]),
  .swipe-mobile--sm-2-columns,
  .swipe-mobile--2-columns:not([class*=swipe-mobile--sm-]) {
    --badge-scale: 0.9;
  }
}
.add-to-cart-button {
  flex: 1 1 auto;
}

.add-to-cart-price::before {
  content: " - ";
}

.add-to-cart-button[disabled] .add-to-cart-price {
  display: none;
}

.product-form-buttons:has(.add-to-cart-button.button-secondary) .quantity-selector {
  border-radius: var(--style-border-radius-buttons-secondary);
}

product-form-component .back-in-stock-button {
  display: none;
}
product-form-component.show-back-in-stock .quantity-selector,
product-form-component.show-back-in-stock .add-to-cart-button {
  display: none;
}
product-form-component.show-back-in-stock .back-in-stock-button {
  display: block;
}

.quantity-field:not(.quantity-field--rules),
.quantity-field:not(.quantity-field--rules) .quantity-field__controls {
  display: contents;
}

.quantity-field--rules {
  justify-items: start;
}

.quantity-field__in-cart {
  margin-inline-start: 0.4rem;
}

.cart-shipping__results {
  margin-block-start: 1.6rem;
}

.cart-empty__message {
  margin-block-start: 1.2rem;
}

.cart-empty__button {
  margin-block-start: 2.4rem;
}

.cart-empty__collections {
  row-gap: 1.2rem;
  margin-block-start: 3.2rem;
}

.cart-empty__products .products-recently-viewed {
  border-top: 1px solid var(--color-border);
  padding-block-start: 3.2rem;
  margin-block-start: 5.2rem;
}

.cart-empty__products .products-recently-viewed:not(.hidden) {
  display: block;
}

.cart-empty__products .product-recommendations {
  border-top: 1px solid var(--color-border);
  padding-block-start: 3.2rem;
  margin-block-start: 5.2rem;
}

.cart-discount {
  row-gap: 1.6rem;
}
.cart-discount__form {
  gap: 1.2rem;
}
.cart-discount__error:not(.hidden) {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.cart-item {
  margin-bottom: var(--gap-item);
}
@media (max-width: 767px) {
  .cart-item {
    margin-bottom: var(--gap-item-mobile, var(--gap-item));
  }
}
.cart-item:last-child {
  margin-bottom: 0;
}
.cart-item__wrapper {
  --cart-item-media-width: 12rem;
  display: grid;
  grid-template: "media info action" "media footer footer"/var(--cart-item-media-width) minmax(0, 1fr) auto;
  column-gap: var(--gap-16);
  row-gap: 0.4rem;
}
@media (max-width: 767px) {
  .cart-item__wrapper {
    --cart-item-media-width: 10rem;
  }
}
.cart-item__media {
  grid-area: media;
}
.cart-item__info {
  grid-area: info;
  row-gap: 0.4rem;
  padding-top: 0.4rem;
}
.cart-item__quantity .quantity-selector {
  --input-height: 3.4rem;
  --input-height-mobile: 3.4rem;
}
.cart-item__quantity .quantity-selector input[type=number] {
  --quantity-selector-input-width: 3rem;
}
.cart-item__quantity .quantity-selector :is(.quantity-minus, .quantity-plus) {
  --minimum-touch-target: 3rem;
  --button-icon-size: 1.4rem;
}
.cart-item__quantity .quantity-selector :is(.quantity-minus) {
  padding-inline-start: 0.6rem;
}
.cart-item__quantity .quantity-selector :is(.quantity-plus) {
  padding-inline-end: 0.6rem;
}
.cart-item__discounts {
  margin-block-start: 0.8rem;
}
.cart-item__action {
  grid-area: action;
  padding-top: 0.4rem;
}
.cart-item__option-separator {
  opacity: 0.8;
}
.cart-item__footer {
  grid-area: footer;
  gap: 1rem;
  padding-bottom: 0.4rem;
  position: relative;
}
.cart-item__footer .cart-item__error {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-background);
  z-index: 1;
  display: flex;
  align-items: end;
  opacity: 0;
  transition: opacity var(--animation-speed) var(--animation-easing);
  pointer-events: none;
}
.cart-item__footer .cart-item__error:not(.hidden) {
  opacity: 1;
  pointer-events: auto;
}
.cart-item__remove {
  --button-icon-size: 2.0rem;
  transition: color var(--animation-speed-slower) var(--animation-easing);
  margin: -1.2rem;
  padding: 1.2rem;
}
@media (hover: hover) and (pointer: fine) {
  .cart-item__remove:hover {
    color: var(--color-heading);
  }
}

.cart-form--dividers .cart-item {
  border-bottom: 1px solid var(--color-border);
  padding-bottom: var(--gap-item);
}
@media (max-width: 767px) {
  .cart-form--dividers .cart-item {
    padding-bottom: var(--gap-item-mobile);
  }
}

.quantity-info__toggle {
  width: var(--minimum-touch-target, 3.6rem);
  height: var(--minimum-touch-target, 3.6rem);
  color: rgb(var(--color-foreground-rgb)/70%);
  list-style: none;
}
.quantity-info__toggle::-webkit-details-marker {
  display: none;
}
@media (hover: hover) and (pointer: fine) {
  .quantity-info__toggle:hover {
    color: var(--color-heading);
  }
}
.quantity-info__toggle .svg-icon,
.quantity-info__toggle svg {
  width: 1.8rem;
  height: 1.8rem;
}
.quantity-info__panel {
  position: absolute;
  z-index: 2;
  inset-inline-end: 0;
  top: calc(100% + 0.4rem);
  width: 32rem;
  padding: 1.6rem;
  background-color: var(--color-background);
  box-shadow: 0 0.4rem 1.6rem var(--color-shadow);
}

@media (max-width: 480px) {
  .cart-item__wrapper {
    position: relative;
  }
  .cart-item__wrapper .quantity-info {
    position: static;
  }
}
.free-shipping-bar {
  color: var(--color);
  opacity: 1;
  row-gap: 1.2rem;
  font-size: var(--font-size);
}

.free-shipping-bar__range {
  margin-top: -0.8rem;
}

.free-shipping-bar__congratulations,
.free-shipping-bar__remaining {
  opacity: 0;
  transition: opacity 0.15s ease-out;
}

.free-shipping-bar__congratulations:not(.hidden),
.free-shipping-bar__remaining:not(.hidden) {
  opacity: 1;
}

.free-shipping-bar.hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.footer-column--fill {
  flex: 1;
}
.footer-column--custom {
  flex-basis: var(--width, auto);
}
.footer-column .dropdown-dialog-component .dropdown-dialog__button {
  margin: -0.7rem;
  padding: 0.7rem;
}
@media only screen and (min-width: 1025px) and (max-width: 1279px) {
  .footer-column--show-right-border {
    padding-inline-end: calc(var(--padding-inline-end) * 0.5);
  }
}
@media only screen and (min-width: 1280px) {
  .footer-column--show-right-border {
    padding-inline-end: var(--padding-inline-end);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .footer-group {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 3.2rem;
  }
  .footer-column:nth-child(2n+1), .footer-column:first-child {
    align-items: flex-start;
  }
  .footer-column.items-center:nth-child(2n):has(.payment-icons) {
    align-items: flex-end;
  }
  .footer-group:has(.footer-column:nth-child(3)) .footer-column:nth-child(-n+2) {
    padding-block-end: 0;
  }
  .footer-group:has(.footer-column:nth-child(3)) .footer-column:nth-child(n+3):not(:nth-last-child(1)):not(:nth-last-child(2):nth-child(odd)) {
    padding-block-start: 0;
    padding-block-end: 0;
  }
  .footer-group:has(.footer-column:nth-child(3)) .footer-column:nth-last-child(1), .footer-group:has(.footer-column:nth-child(3)) .footer-column:nth-last-child(2):nth-child(odd) {
    padding-block-start: 0;
  }
}
@media only screen and (min-width: 1025px) {
  .footer-column--show-right-border {
    border-inline-end: 1px solid var(--color-border);
  }
}
@media only screen and (min-width: 768px) {
  .footer-column {
    justify-content: var(--columns-alignment);
    --text-align-default: var(--column-horizontal-align, start);
  }
}
@media only screen and (max-width: 767px) {
  .footer-column {
    width: 100%;
  }
  .footer-column > * {
    width: 100%;
  }
}
.footer-menu .menu__heading {
  padding-block-end: var(--heading-gap, 12px);
}
.footer-menu .menu__item + .menu__item {
  margin-block-start: var(--menu-gap, 8px);
}
.footer-menu .menu__item {
  font-size: var(--menu-font-size, inherit);
}
.footer-menu .menu__heading--empty {
  display: none;
}
.footer-menu .menu__heading__accordion {
  display: none;
}
.footer-menu .details-content__inner {
  padding-block-end: 0;
  padding-block-start: 0;
}
.footer-menu--simple details::details-content,
.footer-menu--simple details .details-content {
  transition: none;
  opacity: 1;
  height: auto;
  overflow-y: visible;
  block-size: auto;
}

@media only screen and (max-width: 767px) {
  /* Always show the fallback heading on mobile when accordion is enabled */
  .footer-menu--accordion {
    border-block-end: 1px solid var(--color-border);
  }
  .footer-menu--accordion .menu__heading--empty {
    display: flex;
  }
  .footer-menu--accordion .menu__heading__accordion {
    display: block;
  }
  .footer-menu--accordion .details-content__inner {
    padding-block-end: 1.8rem;
  }
  .footer-menu--accordion .menu__heading {
    padding-block: 1.8rem;
  }
}
.footer-menu--chevron .icon-plus {
  display: none;
}
.footer-menu--plus .icon-chevron {
  display: none;
}

/* Only footer sections with scroll reveal enabled (is="footer-effect") get the sticky effect */
.footer-scroll-effect .shopify-section-group-footer-group:has(footer[is=footer-effect]):last-child {
  position: sticky;
  bottom: 1px;
  transform: translateY(1px);
  margin-top: -1px;
}

/* Top divider on: keep the footer border below the content edge, close the seam with the footer background instead */
.footer-scroll-effect .shopify-section-group-footer-group:has(footer[is=footer-effect].border-top):last-child {
  transform: translateY(2px);
  margin-top: 0;
}

.footer-scroll-effect .shopify-section-group-footer-group:has(footer[is=footer-effect].border-top):last-child footer {
  box-shadow: 0 -2px 0 var(--color-background);
}

/* Multiple footers: a preceding sibling footer-group exists — remove transform to avoid offset glitch */
.footer-scroll-effect .shopify-section-group-footer-group ~ .shopify-section-group-footer-group:has(footer[is=footer-effect]):last-child {
  transform: none;
  bottom: 0;
}

.footer-scroll-effect.shoppable-popup-open .shopify-section-group-footer-group:has(footer[is=footer-effect]):last-child,
.footer-scroll-effect:has(.dialog[open]) .shopify-section-group-footer-group:has(footer[is=footer-effect]):last-child {
  z-index: -1;
}

.footer-scroll-effect:not(.shoppable-popup-open):not(:has(.dialog[open])) .content-for-layout {
  position: relative;
  z-index: 10;
}

.footer-scroll-effect:not(.shoppable-popup-open):not(:has(.dialog[open])) .shopify-section-group-footer-group:not(:has(footer[is=footer-effect])),
.footer-scroll-effect:not(.shoppable-popup-open):not(:has(.dialog[open])) .shopify-section-group-footer-group:has(footer[is=footer-effect]):not(:last-child) {
  position: relative;
  z-index: 9;
}

.footer-scroll-effect .header-sticky {
  z-index: 1;
}

height-observer {
  display: block;
}

.section-group-announcement-bar {
  position: relative;
  z-index: 20;
}

.announcement-bar--bottom-separator {
  border-bottom: 1px solid var(--color-border);
}
.announcement-bar--slider .announcement-bar-component {
  max-width: 700px;
}
.announcement-bar--slider .reveal-carousel__navigation .reveal-carousel-btn {
  --button-height-mobile: 3.2rem;
  --button-height: 3.2rem;
  height: 100%;
  max-height: 100%;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
.announcement-bar--slider .reveal-carousel__list {
  margin-block: calc(var(--padding-block-start) * -1px);
  padding-block: calc(var(--padding-block-start) * 1px);
}
.announcement-bar--slider .announcement-bar__item {
  flex-wrap: wrap;
  row-gap: 0.5rem;
}
@media (hover: hover) and (pointer: fine) {
  .announcement-bar--slider:hover .reveal-carousel--nav-show-on-hover .reveal-carousel-btn {
    opacity: 1;
    visibility: visible;
  }
}
.announcement-bar--scrolling {
  white-space: nowrap;
}

body:has(.content-for-layout .shopify-section:first-child .allow-transparent-header) .announcement-bar--bottom-separator {
  border-bottom: none;
}

@media (max-width: 767px) {
  .announcement-bar--slider .announcement-bar-component {
    padding-inline: 4rem;
  }
  .announcement-bar--slider .reveal-carousel--nav-show-on-hover .reveal-carousel-btn {
    opacity: 1;
    visibility: visible;
  }
}
.header__logo-image {
  object-fit: contain;
  height: auto;
  width: var(--header-logo-width);
}
@media only screen and (max-width: 767px) {
  .header__logo-image {
    width: var(--header-logo-width-mobile, var(--header-logo-width));
  }
}

.header__logo-main {
  opacity: var(--header-logo-opacity, 1);
}

.header__logo-transparent {
  opacity: var(--header-transparent-logo-opacity, 0);
}

.header__logo-container {
  transition: opacity var(--animation-header) var(--animation-header-delay);
}
.header__logo-container .text-logo {
  transition: color var(--animation-header) var(--animation-header-delay);
}

.height-observer {
  --header-transparent-color-foreground: var(--color-foreground);
  --header-transparent-color-border: var(--color-border);
  --header-transparent-color-heading: var(--color-heading);
  --header-transparent-color-shadow: var(--color-shadow);
  --header-transparent-color-primary-button-text: var(--color-primary-button-text);
  --header-transparent-color-primary-button-background: var(--color-primary-button-background);
}

body:has(.content-for-layout .shopify-section:first-child .allow-transparent-header) .header-section {
  margin-block-end: calc(var(--header-height, 0px) * -1);
  z-index: 20;
  /* Hold the colors until the collapsing background has swept past the header */
}
body:has(.content-for-layout .shopify-section:first-child .allow-transparent-header) .header-section:not(.header-sticky) {
  position: relative;
  top: 0;
}
body:has(.content-for-layout .shopify-section:first-child .allow-transparent-header) .header-section .header-component {
  background-color: transparent;
  transition: transform var(--animation-header) 0.2s;
}
body:has(.content-for-layout .shopify-section:first-child .allow-transparent-header) .header-section .header-sticky--boxed {
  transition: max-width 0s ease-in-out 0.5s;
}
body:has(.content-for-layout .shopify-section:first-child .allow-transparent-header) .header-section.header-scrolling .header-sticky--boxed {
  transition: box-shadow var(--sticky-transition) 0s, opacity var(--sticky-transition) 0.3s, transform var(--sticky-transition) 0s;
}
body:has(.content-for-layout .shopify-section:first-child .allow-transparent-header) .header-section:not(.header-scrolling) .header-component:not(.header--mega-menu-open) {
  --color-background: transparent;
}
body:has(.content-for-layout .shopify-section:first-child .allow-transparent-header) .header-section:not(.header-scrolling) .header--mega-menu-open:not(.header--mega-menu-closing):not(.header--dropdown-menu-closing) .header-menu-background {
  height: calc(var(--header-height, 0px) + var(--mega-menu-height, 0px));
}
body:has(.content-for-layout .shopify-section:first-child .allow-transparent-header) .header-section:not(.header-scrolling) .header--mega-menu-open.search-bar-top-open:not(.header--mega-menu-closing):not(.header--dropdown-menu-closing) .header-menu-background {
  height: var(--search-bar-top-height, var(--header-height, 0px));
}
body:has(.content-for-layout .shopify-section:first-child .allow-transparent-header) .header-section:not(.header-scrolling) .header-menu-background {
  top: 0;
}
body:has(.content-for-layout .shopify-section:first-child .allow-transparent-header) .header-section:not(.header-scrolling) .header-component:not(.header--mega-menu-open), body:has(.content-for-layout .shopify-section:first-child .allow-transparent-header) .header-section:not(.header-scrolling) .header-component.header--mega-menu-closing, body:has(.content-for-layout .shopify-section:first-child .allow-transparent-header) .header-section:not(.header-scrolling) .header-component.header--dropdown-menu-closing {
  --color-foreground: var(--header-transparent-color-foreground);
  --color-border: var(--header-transparent-color-border);
  --color-heading: var(--header-transparent-color-heading);
  --color-shadow: var(--header-transparent-color-shadow);
  --color-primary-button-text: var(--header-transparent-color-primary-button-text);
  --color-primary-button-background: var(--header-transparent-color-primary-button-background);
  --header-transparent-logo-opacity: 1;
  --header-logo-opacity: 0;
}
body:has(.content-for-layout .shopify-section:first-child .allow-transparent-header) .header-section:not(.header-scrolling) .header-component.header--mega-menu-closing {
  --animation-header: .2s cubic-bezier(.6, 0, .4, 1);
  --animation-header-delay: .15s;
}

.header__menu .menu {
  margin-inline: calc(var(--menu-gap-x) / 2 * -1);
}
.header__menu .menu .menu__title {
  padding-inline: calc(var(--menu-gap-x) / 2);
}

.header__nav {
  --menu-title-padding-inline: 1rem;
  --menu-title-child-padding-inline: 1.6rem;
  container-name: headerNav;
}

/* Menu title */
.menu__title {
  letter-spacing: var(--menu-main-letter-spacing);
  text-transform: var(--menu-main-font-case);
  font-family: var(--menu-main-font-family);
  font-weight: var(--menu-main-font-weight);
  font-size: var(--menu-main-font-size);
  color: var(--color-heading);
  display: flex;
  column-gap: 0.4rem;
  align-items: center;
  padding-block: 0.5rem;
  transition: color var(--animation-header) var(--animation-header-delay);
}

.menu__title .link-underline--hover {
  transition: color var(--animation-header) var(--animation-header-delay);
}

.menu__highlight {
  --color-heading: var(--highlight-color);
  color: var(--highlight-color);
}

@media (hover: hover) and (pointer: fine) {
  .menu__title .link-underline--hover:hover {
    color: inherit;
  }
}
.menu__dropdown,
.menu__mega {
  display: none;
}

.search-bar__actions {
  inset-inline-end: 0.5rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  height: 100%;
  aspect-ratio: 1;
}

.search-bar__icon {
  grid-area: 1/1/end/end;
  width: var(--input-height, 4.4rem);
  height: var(--input-height, 4.4rem);
}
.search-bar__icon svg {
  width: max(1.8rem, min(var(--header-icon-size, 2.4rem) * 0.9, 3rem));
  height: max(1.8rem, min(var(--header-icon-size, 2.4rem) * 0.9, 3rem));
}

.search-bar__reset {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.search-bar__reset svg {
  width: 1.6rem;
  height: 1.6rem;
}

.search-bar--open .search-bar__reset {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.search-bar--open .search-bar__submit {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.header__search-bar .search__input {
  transition: border-color var(--animation-header) var(--animation-header-delay);
}
.header__search-bar .search__input::placeholder {
  transition: color var(--animation-header) var(--animation-header-delay);
}
.header__search-bar .search__input:focus {
  border-color: var(--color-border);
}
.header__search-bar .search-bar__icon {
  transition: color var(--animation-header) var(--animation-header-delay);
}

.search-bar__popup {
  --search-popup-duration: 0.5s;
  --search-popup-backdrop-duration: 0.7s;
  --search-popup-timing: cubic-bezier(.7, 0, .2, 1);
  --search-popup-padding-x: 3rem;
  --search-popup-padding-y: 3rem;
  position: fixed;
  z-index: var(--dialog-modal-index, 30);
  pointer-events: auto;
  width: var(--search-bar-popup-width, 55rem);
  max-width: calc(100vw - 16px);
  border-radius: var(--container-border-radius);
  overflow: hidden;
  animation: search-bar-popup-in var(--search-popup-duration) var(--search-popup-timing) both;
}
.search-bar__popup .predictive-search__form {
  display: none;
}
.search-bar__popup .predictive-search__content {
  position: relative;
  padding: 0;
}
.search-bar__popup .predictive-search__container {
  max-height: 70vh;
  padding-inline: var(--search-popup-padding-x);
  padding-block: var(--search-popup-padding-y);
}
.search-bar__popup .predictive-search__container:has(.predictive-search__empty:not([hidden])):not(:has(.predictive-search__recently-searched:not([hidden]))):not(:has(.predictive-search__popular-searches)):not(:has(.products-recently-viewed)) {
  padding-block: 0;
}
.search-bar__popup .predictive-search__footer {
  position: absolute;
  inset-block-end: 0;
  inset-inline: 0;
  padding-inline: var(--search-popup-padding-x);
  padding-block: 5rem 1.6rem;
  background: linear-gradient(180deg, transparent 0%, var(--color-background) 100%);
  z-index: 10;
}
.search-bar__popup .predictive-search__container:not(:has(.predictive-search__no-results)):has(.predictive-search__footer:not([hidden])) {
  padding-block-end: 8.4rem;
}
.search-bar__popup .predictive-search__content:has(.predictive-search__no-results) .predictive-search__footer {
  display: none;
}

.search-bar__popup:has(.predictive-search__empty:not([hidden])):not(:has(.predictive-search__recently-searched:not([hidden]))):not(:has(.predictive-search__popular-searches)):not(:has(.products-recently-viewed)) ~ .search-bar__popup-overlay {
  display: none;
}

.search-bar__popup-overlay {
  --search-popup-backdrop-duration: 0.7s;
  --search-popup-timing: cubic-bezier(.7, 0, .2, 1);
  position: fixed;
  inset: 0;
  z-index: 22;
  background-color: var(--color-overlay-background);
  backdrop-filter: blur(var(--overlay-backdrop-blur, 0px));
  cursor: zoom-out;
  pointer-events: auto;
  animation: dialogBackdropIn var(--search-popup-backdrop-duration) var(--search-popup-timing);
}
.search-bar__popup-overlay.cursor-none {
  cursor: none;
}

body:has(.header-section.header-scrolling .header-sticky--boxed) .search-bar__popup-overlay {
  z-index: 19;
}

@keyframes search-bar-popup-in {
  from {
    opacity: 0;
    translate: 0 -0.4rem;
  }
}
@keyframes search-bar-popup-out {
  to {
    opacity: 0;
    translate: 0 -0.4rem;
  }
}
html[scroll-lock] .search-bar__popup-overlay {
  inset-inline-end: var(--scrollbar-width, 0px);
}

html.search-cursor-active {
  cursor: none;
}

.search-bar__popup-overlay.search-bar-closing {
  pointer-events: none;
  animation: dialogBackdropOut var(--search-popup-backdrop-duration) var(--search-popup-timing) forwards;
}

.search-bar__popup.search-bar-closing {
  animation: search-bar-popup-out var(--search-popup-duration) var(--search-popup-timing) forwards;
}

@media only screen and (max-width: 767px) {
  .search-bar__icon {
    width: var(--input-height-mobile);
    height: var(--input-height-mobile);
  }
}
.cart-count {
  height: 1.6rem;
  min-width: 1.6rem;
  font-size: 1rem;
  padding-inline: 0.4rem;
  color: var(--color-primary-button-text);
  background-color: var(--color-primary-button-background);
  border-radius: 99px;
  inset-block-start: -0.8rem;
  inset-inline-end: -0.8rem;
}
.cart-count--secondary {
  color: var(--color-secondary-button-text);
  background-color: var(--color-secondary-button-background);
}
.cart-count--subtle {
  color: var(--color-subtle-button-text);
  background-color: var(--color-background);
}
.cart-count.count-empty {
  display: none;
}

.header__button-text:has(.header__cart-count--badge) {
  display: inline-flex;
  align-items: center;
  gap: var(--gap-8);
}

.header__cart-label,
.header__cart-count--badge .cart-count-text {
  text-box: trim-both cap alphabetic;
}

.header__button-text .header__cart-count--badge {
  min-width: 2rem;
  height: 2rem;
  padding-inline: 0.25em;
  border-radius: var(--container-border-radius-xs);
  font-size: var(--font-size-sm);
  letter-spacing: normal;
  will-change: transform;
  color: var(--color-primary-button-text);
  background-color: var(--color-primary-button-background);
}
.header__button-text .header__cart-count--badge.count-empty {
  color: var(--color-secondary-button-text);
  background-color: var(--color-secondary-button-background);
}

.header-component .cart-count,
.header-component .header__cart-count--badge {
  transition: background-color var(--animation-header) var(--animation-header-delay), color var(--animation-header) var(--animation-header-delay);
}

.header-section.header-sticky {
  position: sticky;
  top: 0;
}
.header-section.header-sticky.header-stuck, .header-section.header-sticky:has(details[open]), .header-section.header-sticky:has(.dropdown-dialog[open]), .header-section.header-sticky:has(.header--mega-menu-open), .header-section.header-sticky:has(.search-bar-top-open) {
  z-index: 20;
}
.header-section.header-sticky:has(.header--open-dropdown-menu) {
  z-index: 21;
}

.header-section.header-sticky {
  --animation-header: .3s cubic-bezier(.6, 0, .4, 1);
  --animation-header-delay: 0s;
  transition: top 0.5s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.header-section.header-sticky.header-sticky--no-animation {
  --animation-header: 0s;
  --animation-header-delay: 0s;
  --animation-header-scroll-up: 0s;
  transition: none;
}
.header-section.header-sticky.header-scrolling .header-sticky-background {
  opacity: 1;
}
.header-section.header-sticky.header-scrolling .header-sticky--separator-line:after,
.header-section.header-sticky.header-scrolling .header-sticky--separator-shadow:after {
  opacity: 1;
}
.header-section.header-sticky.header-scrolling .header-sticky--separator-shadow:not(.header--mega-menu-active):after {
  border-color: transparent;
}
.header-section.header-sticky.header-scrolling .header--mega-menu-active:after {
  --shadow-color: transparent;
}
.header-section.header-sticky.header-scrolling:not(.header-pinning) .header-component[data-sticky-type=scroll_up] {
  transform: translateY(-100%);
}
.header-section.header-sticky.header-scrolling:not(.header-pinning):has(.header-component[data-sticky-type=scroll_up]) {
  pointer-events: none;
}
.header-section.header-sticky .header-component[data-sticky-type=scroll_up] {
  transition: transform var(--animation-header-scroll-up, var(--animation-primary));
}

@media only screen and (max-width: 767px) {
  .header-section.header-sticky.header-hide-zone .header-component {
    transform: translateY(-110%);
    pointer-events: none;
    transition: transform var(--animation-header) var(--animation-header-delay);
  }
}
.header--open-dropdown-menu {
  --animation-header: .15s cubic-bezier(.6, 0, .4, 1);
  --animation-header-delay: 0s;
}

.header-menu-background {
  z-index: 1;
  position: absolute;
  top: var(--mega-menu-top, 100%);
  left: calc(var(--header-padding, 0px) * -1);
  right: calc(var(--header-padding, 0px) * -1);
  height: 0;
  pointer-events: none;
  background-color: var(--color-background);
  border-radius: 0;
  opacity: 0;
  transition: height 0.3s cubic-bezier(0.6, 0.14, 0, 1), opacity 0s linear var(--menu-background-hide-delay, 0.3s);
}

.header-sticky-background {
  z-index: 1;
  position: absolute;
  top: 0;
  left: calc(var(--header-padding, 0px) * -1);
  right: calc(var(--header-padding, 0px) * -1);
  bottom: 0;
  pointer-events: none;
  background-color: var(--color-background);
  opacity: 0;
  border-radius: 0;
  transition: opacity var(--animation-header) var(--animation-header-delay);
}

.header-sticky.header-scrolling .header__row:last-child:after {
  display: none;
}

.header-section.header-sticky--scroll_up {
  --animation-header: 0.25s ease-in-out;
}

.header-section.header-sticky--scroll_up:not(.header-revealed) {
  top: auto;
}

.header-sticky--bottom_only.header-sticky:not(.header-pinning) {
  top: calc(var(--header-top-height, 0px) * -1);
}
.header-sticky--bottom_only.header-scrolling:not(.header-pinning) .header__row--top:after {
  opacity: 0;
}

.header-sticky--top_only {
  --animation-header-sticky: 0.3s;
  --animation-header-sticky-delay: 0.1s;
  pointer-events: none;
}
.header-sticky--top_only .height-observer {
  min-height: calc(var(--header-top-height, 0px) + var(--header-bottom-height, 0px));
}
.header-sticky--top_only .height-observer > * {
  pointer-events: auto;
}
.header-sticky--top_only .header__row--bottom {
  height: var(--header-bottom-height, auto);
  opacity: 1;
  transition: height var(--animation-header-sticky), padding-block var(--animation-header-sticky), opacity var(--animation-header-sticky) var(--animation-header-sticky-delay);
}
.header-sticky--top_only.header-scrolling:not(.header-pinning) .header__row--bottom {
  height: 0;
  padding-block: 0;
  overflow: hidden;
  opacity: 0;
}
.header-sticky--top_only.header-scrolling:not(.header-pinning) .header__row--top:after {
  opacity: 0;
}

body:has(.header-scrolling .header-sticky--boxed) {
  --header-boxed-offset: 1.6rem;
}

.header-section:has(.header-sticky--boxed) {
  --header-padding: 5rem;
  padding-inline: var(--header-padding, 0px);
}
.header-section.header-sticky:has(.header-sticky--boxed) {
  --animation-header: .2s cubic-bezier(.6, 0, .4, 1);
}
.header-section .header-sticky--boxed {
  --animation-header-delay:0;
  --sticky-transition: 0.5s cubic-bezier(.625,.05,0,1);
  transition: max-width 0s ease-in-out 0.5s;
}
.header-section .header-sticky--boxed:not(.header--transparent):before {
  content: "";
  position: absolute;
  top: 0;
  left: -50vw;
  right: -50vw;
  height: 100%;
  background-color: var(--color-background);
  pointer-events: none;
}
.header-section .header-sticky--boxed .header__container {
  --page-padding: 0px;
}
.header-section .header-sticky--boxed .header__wrapper {
  padding-inline: 0px;
  transition: padding-inline 0.35s ease-in-out;
  border-radius: var(--header-border-radius-boxed);
}
.header-section .header-sticky--boxed[data-width=page-width] {
  max-width: 100%;
  margin-inline: auto;
}
.header-section .header-sticky--boxed[data-width=page-full-width] {
  max-width: 100%;
  margin-inline: auto;
}
.header-section.header-scrolling:has(.header-sticky--boxed) {
  padding-inline: var(--header-padding, 0px);
  pointer-events: none;
}
.header-section.header-scrolling:has(.header-sticky--boxed) .header-component {
  pointer-events: auto;
}
.header-section.header-scrolling .header-sticky--boxed {
  --header-padding: 0rem;
  --header-boxed-padding: 3rem;
  transform: translate3d(0, var(--header-boxed-offset), 0);
  transition: box-shadow var(--sticky-transition) 0s, opacity var(--sticky-transition) 0.3s, transform var(--sticky-transition) 0s, border-radius 0.15s cubic-bezier(0.6, 0.14, 0, 1);
  border-radius: var(--header-border-radius-boxed);
}
.header-section.header-scrolling .header-sticky--boxed:before {
  opacity: 0;
}
.header-section.header-scrolling .header-sticky--boxed.header-sticky--separator-line:after, .header-section.header-scrolling .header-sticky--boxed.header-sticky--separator-shadow:after {
  border: 1px solid var(--color-border);
  border-radius: var(--header-border-radius-boxed);
}
.header-section.header-scrolling .header-sticky--boxed .header--separator-line:after,
.header-section.header-scrolling .header-sticky--boxed .header--separator-shadow:after {
  left: calc(var(--header-padding, 0px) * -1);
  right: calc(var(--header-padding, 0px) * -1);
  width: calc(100% + var(--header-padding, 0px) * 2);
  transform: none;
}
.header-section.header-scrolling .header-sticky--boxed.header-sticky--separator-line:after, .header-section.header-scrolling .header-sticky--boxed.header-sticky--separator-shadow:after {
  --animation-header-delay:0s;
}
.header-section.header-scrolling .header-sticky--boxed .header--separator-shadow:after {
  box-shadow: none;
  border-bottom: 1px solid var(--color-border);
}
.header-section.header-scrolling .header-sticky--boxed .header-menu-background,
.header-section.header-scrolling .header-sticky--boxed .header-sticky-background {
  --animation-header-delay:0s;
  border-radius: var(--container-border-radius);
}
.header-section.header-scrolling .header-sticky--boxed .header-menu-background {
  transition: height 0.3s cubic-bezier(0.6, 0.14, 0, 1), border-radius 0.15s cubic-bezier(0.6, 0.14, 0, 1), opacity 0s linear var(--menu-background-hide-delay, 0.3s);
}
.header-section.header-scrolling .header-sticky--boxed .header-sticky-background {
  transition: opacity var(--animation-header) var(--animation-header-delay), border-radius 0.15s cubic-bezier(0.6, 0.14, 0, 1);
}
.header-section.header-scrolling .header-sticky--boxed.header--mega-menu-border {
  transition: box-shadow var(--sticky-transition) 0s, opacity var(--sticky-transition) 0.3s, transform var(--sticky-transition) 0s, border-radius 0s;
}
.header-section.header-scrolling .header-sticky--boxed.header--mega-menu-border .header-menu-background {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  transition: height 0.3s cubic-bezier(0.6, 0.14, 0, 1), border-radius 0s, opacity 0s linear var(--menu-background-hide-delay, 0.3s);
}
.header-section.header-scrolling .header-sticky--boxed.header--mega-menu-border .header-sticky-background {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  transition: opacity var(--animation-header) var(--animation-header-delay), border-radius 0s;
}
.header-section.header-scrolling .header-sticky--boxed .header__wrapper {
  padding-inline: var(--header-boxed-padding);
}
.header-section.header-scrolling .header-sticky--boxed .menu__mega {
  --header-padding: var(--header-boxed-padding);
}
.header-section.header-scrolling .header-sticky--boxed .mega-menu__container {
  --page-padding: var(--header-boxed-padding);
}
.header-section.header-scrolling .header-sticky--boxed .header-overlay {
  top: calc(var(--header-boxed-offset) * -1);
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
}
.header-section.header-scrolling .header-sticky--boxed[data-width=page-width] {
  max-width: var(--page-width);
}
.header-section.header-scrolling .header-sticky--boxed[data-width=page-full-width] {
  max-width: calc(100% - var(--header-padding, 0px) * 2);
}

.header-mobile-section.header-sticky.header-scrolling .header-sticky--boxed {
  --header-boxed-padding: 1.6rem;
}

.header-sticky--boxed {
  --header-border-radius-boxed: var(--container-border-radius);
}
.header-sticky--boxed.header--mega-menu-border {
  --header-border-radius-boxed: var(--container-border-radius) var(--container-border-radius) 0 0;
}

body:has(.collection-toolbar.sticky-mobile) .header-mobile-section.header-scrolling {
  --header-padding: 0px;
}
body:has(.collection-toolbar.sticky-mobile) .header-mobile-section.header-scrolling .header-sticky--boxed {
  --header-border-radius-boxed: 0px;
}
body:has(.collection-toolbar.sticky-mobile) .header-mobile-section.header-scrolling .header-sticky--separator-line:after {
  border: none;
  border-bottom: 1px solid var(--color-border);
}
body:has(.collection-toolbar.sticky-mobile) .header-mobile-section.header-scrolling .header__wrapper,
body:has(.collection-toolbar.sticky-mobile) .header-mobile-section.header-scrolling .header-sticky-background {
  border-radius: 0;
}

body:has(.collection-toolbar.sticky-mobile):has(.header-mobile-section.header-scrolling) {
  --header-boxed-offset: 0px;
}

@media (min-width: 768px) and (max-width: 1279px) {
  .header-section:has(.header-sticky--boxed) {
    --header-padding: 3rem;
  }
}
.header-mobile-section:has(.header-sticky--boxed) {
  --header-padding: 1.6rem;
}

.header--separator-line::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100vw;
  left: 50%;
  transform: translate(-50%);
  height: 1px;
  background-color: var(--color-border);
  transition: background-color var(--animation-header) 0.2s, opacity var(--animation-header);
  pointer-events: none;
}

.header-component::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(var(--header-padding, 0px) * -1);
  right: calc(var(--header-padding, 0px) * -1);
  width: calc(100% + var(--header-padding, 0px) * 2);
  border-bottom: 1px solid var(--color-border);
  z-index: 4;
  height: 100%;
  opacity: 0;
  transition: opacity var(--animation-header) var(--animation-header-delay), box-shadow var(--animation-header), border-color var(--animation-header);
  pointer-events: none;
}
.header-component[data-sticky-type=top_only]::after {
  transition: none;
}

.header-sticky--scroll_up:not(.header-pinning) .header-sticky--separator-line::after {
  height: 0;
}

.header--separator-shadow,
.header-sticky .header-sticky--separator-shadow {
  --shadow-horizontal-offset: 0;
  --shadow-vertical-offset: 1px;
  --shadow-blur: 5px;
  --shadow-spread: 0px;
  --shadow-color: var(--color-shadow);
  --shadow-height: 100%;
}
.header--separator-shadow::after,
.header-sticky .header-sticky--separator-shadow::after {
  content: "";
  position: absolute;
  bottom: 0;
  height: var(--shadow-height);
  box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) var(--shadow-blur) var(--shadow-spread) var(--shadow-color);
  pointer-events: none;
}

.header--separator-shadow::after {
  width: 100vw;
  left: 50%;
  transform: translate(-50%);
}

.header--middle-separator .header__row--bottom {
  border-top: 1px solid var(--color-border);
  transition: border-color var(--animation-header) var(--animation-header-delay);
}

.header--mega-menu-active.header-sticky--separator-shadow:after {
  --shadow-color: transparent;
  border-bottom: 1px solid var(--color-border);
}

.header-section:not(.header-scrolling) .header--mega-menu-closing.header-sticky--separator-shadow:after,
.header-section:not(.header-scrolling) .header--dropdown-menu-closing.header-sticky--separator-shadow:after {
  --shadow-color: transparent;
}

.header__button {
  position: relative;
  white-space: normal;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--gap-8);
  color: var(--color-heading);
  margin: calc(-1 * var(--header-items-gap) / 2);
  padding: calc(var(--header-items-gap) / 2);
  transition: color var(--animation-header) var(--animation-header-delay);
}
.header__button svg {
  width: var(--header-icon-size, 2.4rem);
  height: var(--header-icon-size, 2.4rem);
}

.toggle-menu-btn {
  display: flex;
  transition: all var(--animation-speed-slower) var(--animation-easing);
}
.toggle-menu-btn * {
  pointer-events: none;
}

:root {
  --account-sheet-overlay-duration: .5s;
  --account-sheet-overlay-easing: cubic-bezier(.7, 0, .2, 1);
}

.account-sheet__overlay {
  display: none;
  --dialog-modal-index: 110;
}
.account-sheet__overlay.is-open {
  display: block;
  animation: dialogBackdropIn var(--account-sheet-overlay-duration) var(--account-sheet-overlay-easing);
}
.account-sheet__overlay.is-closing {
  display: block;
  animation: dialogBackdropOut var(--account-sheet-overlay-duration) var(--account-sheet-overlay-easing) forwards;
}

shopify-account {
  --account-sheet-duration: .5s;
  --account-sheet-close-duration: .5s;
  --account-sheet-easing: cubic-bezier(.7, 0, .2, 1);
  --account-sheet-gutter: 2.4rem;
  --account-sheet-width: 42rem;
  --account-sheet-padding-x: 2rem;
  --account-sheet-padding-y: 2rem;
  --account-sheet-header-padding-y: 1.4rem;
  --account-sheet-close-size: 4rem;
  --account-sheet-icon-size: 1.8rem;
  --account-sheet-heading: var(--account-sheet-heading-color, var(--color-heading));
  --account-sheet-text-rgb-fallback: var(--account-sheet-text-rgb, var(--color-foreground-rgb));
  --shopify-account-font-heading: var(--font-heading-family);
  --shopify-account-font-heading-weight: var(--font-heading-weight);
  --shopify-account-font-body: var(--font-body-family);
  --shopify-account-font-body-weight: var(--font-body-weight);
  --shopify-account-radius-base: var(--container-border-radius);
  --shopify-account-radius-button: var(--button-radius);
  --shopify-account-radius-button-small: var(--button-radius);
  --shopify-account-radius-input: var(--input-radius);
  --shopify-account-radius-dialog: var(--container-border-radius-lg);
  --shopify-account-avatar-size: 0;
  --shopify-account-signed-in-avatar-size: 0;
  --shopify-account-color-background: var(--account-sheet-background, var(--color-background));
  --shopify-account-color-background-subdued: rgb(var(--account-sheet-text-rgb-fallback) / 6%);
  --shopify-account-color-text: var(--account-sheet-text, var(--color-foreground));
  --shopify-account-color-text-subdued: rgb(var(--account-sheet-text-rgb-fallback) / 60%);
  --shopify-account-color-border: rgb(var(--account-sheet-text-rgb-fallback) / 12%);
  --shopify-account-color-shadow: var(--color-shadow);
  --shopify-account-color-accent: var(--account-sheet-accent, var(--color-primary-button-background));
  --shopify-account-color-accent-hover: var(--account-sheet-accent-hover, var(--color-primary-button-hover-background));
  --shopify-account-color-accent-text: var(--account-sheet-accent-text, var(--color-primary-button-text));
  --shopify-account-signed-in-avatar-color-background: var(--shopify-account-color-accent);
  --shopify-account-signed-in-avatar-color-text: var(--shopify-account-color-accent-text);
  --shopify-login-form-font-body: var(--font-body-family);
  --shopify-login-form-font-body-weight: var(--font-body-weight);
  --shopify-login-form-radius-base: var(--container-border-radius);
  --shopify-login-form-radius-button: var(--button-radius);
  --shopify-login-form-radius-button-small: var(--button-radius);
  --shopify-login-form-radius-input: var(--input-radius);
  --shopify-login-form-color-background: var(--shopify-account-color-background);
  --shopify-login-form-color-background-subdued: var(--shopify-account-color-background-subdued);
  --shopify-login-form-color-control-background: var(--account-sheet-input-background, transparent);
  --shopify-login-form-color-control-text: var(--input-text-color, var(--shopify-account-color-text));
  --shopify-login-form-color-text: var(--shopify-account-color-text);
  --shopify-login-form-color-text-subdued: var(--shopify-account-color-text-subdued);
  --shopify-login-form-color-border: var(--account-sheet-border, var(--shopify-account-color-border));
  --shopify-login-form-color-accent: var(--shopify-account-color-accent);
  --shopify-login-form-color-accent-hover: var(--shopify-account-color-accent-hover);
  --shopify-login-form-color-accent-text: var(--shopify-account-color-accent-text);
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.account-sheet {
  --account-sheet-avatar-size: var(--header-icon-size, 2.4rem);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--account-sheet-gap, var(--gap-8));
  color: inherit;
  transition: color var(--animation-header) var(--animation-header-delay);
}
.account-sheet:not(:has(.account-sheet__caption)) {
  gap: 0;
}

.account-sheet__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: inherit;
}

.account-sheet__placeholder--blank .account-sheet__icon {
  flex: none;
}
.account-sheet__placeholder--blank .account-sheet__icon svg {
  width: var(--account-sheet-avatar-size);
  height: var(--account-sheet-avatar-size);
  color: transparent;
  background-color: var(--skeleton-background-color, rgb(var(--color-foreground-rgb)/6%));
  border-radius: 50%;
}

.account-sheet:not([data-ready]) .account-sheet__component:not(.account-sheet__component--collapsed) {
  display: none;
}

.account-sheet[data-ready] .account-sheet__placeholder {
  display: none;
}
.account-sheet[data-ready] .account-sheet__component:not(.account-sheet__component--collapsed) {
  --shopify-account-avatar-size: var(--account-sheet-avatar-size);
  --shopify-account-signed-in-avatar-size: var(--account-sheet-avatar-size);
  position: static;
  width: var(--account-sheet-component-width, auto);
  height: auto;
  overflow: visible;
  display: var(--account-sheet-component-display, flex);
  align-items: center;
  justify-content: center;
  color: inherit;
}
.account-sheet[data-ready] .account-sheet__component--block {
  --account-sheet-component-width: 100%;
  --account-sheet-component-display: block;
}

.mobile-menu-account {
  text-align: var(--menu-bottom-align, center);
}
.mobile-menu-account .account-sheet {
  display: flex;
  width: 100%;
  justify-content: var(--menu-bottom-align, center);
}
.mobile-menu-account .account-sheet__placeholder {
  width: 100%;
}

.account-sheet__caption--truncate {
  display: block;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

@media (max-width: 900px) {
  .header-desktop-section {
    display: none;
  }
}
@media (min-width: 899px) {
  .header-mobile-section {
    display: none;
  }
}
.header__container {
  --header-left: 1fr;
  --header-center: auto;
  --header-right: 1fr;
  --header-template-columns: var(--header-left) var(--header-center) var(--header-right);
  display: grid;
  grid-template-columns: var(--header-template-columns);
  gap: var(--header-items-gap, var(--gap-10));
}
.header__container:not(:has(.header__column--center)) {
  --header-left: auto;
  --header-right: 1fr;
  --header-template-columns: var(--header-left) var(--header-right);
}
.header__container:not(:has(.header__column--center)) > .header__column--right {
  grid-column: 2;
}
.header__container:has(.header__column--center .header__menu) {
  --header-center: minmax(0, fit-content(60%));
}

.header__row {
  position: relative;
  z-index: 2;
}
.header__row:has(details[open]) {
  z-index: 3;
}

.header__column {
  display: flex;
  align-items: center;
  gap: var(--header-items-gap, 2rem);
}
.header__column--left {
  grid-column: 1;
}
.header__column--center {
  justify-content: center;
  text-align: center;
  grid-column: 2;
}
.header__column--center ul.menu {
  justify-content: center;
}
.header__column--right {
  justify-content: flex-end;
  grid-column: 3;
}
.header__column .dropdown-dialog__button {
  transition: color var(--animation-header) var(--animation-header-delay);
}

.header-desktop-section .header__column > * {
  flex-shrink: 0;
}
.header-desktop-section .header__column > .header__menu,
.header-desktop-section .header__column > .header__quick-links {
  flex-shrink: 1;
}
.header-desktop-section .header__column > .header__search-bar {
  flex-shrink: 1;
  min-width: 20rem;
}

.header__mobile {
  --header-item-gap: 1.6rem;
  --grid-template: "header-left header-right" / auto minmax(0,1fr);
  grid-template: var(--grid-template);
}
.header__mobile-left {
  grid-area: header-left;
  gap: var(--header-item-gap);
}
.header__mobile-right {
  grid-area: header-right;
  gap: var(--header-item-gap);
}

.header-mobile__row--bottom .header__container {
  --header-template-columns: 1fr;
}

body:has(.header-section.header-sticky--always.header-pinning) {
  --sticky-offset-spacing: 1.6rem;
}

body {
  --offset-top-height: calc(var(--header-height, 0px) + var(--announcement-bar-height, 0px));
}

body:has(.content-for-layout .shopify-section:first-child .allow-transparent-header) {
  --offset-top-height: var(--announcement-bar-height, 0px);
}

body:has(.header-desktop-section.header-sticky--top_only.header-pinning),
body:has(.header-desktop-section.header-sticky--bottom_only.header-pinning) {
  --header-sticky-content: var(--header-height, 0px);
}

body:has(.header-desktop-section.header-sticky--top_only),
body:has(.header-desktop-section.header-sticky--bottom_only) {
  --header-sticky-content: var(--header-sticky-height, 0px);
}

body:has(.header-desktop-section.header-sticky--always) {
  --header-sticky-content: var(--header-sticky-height, var(--header-height, 0px));
}

body:has(.header-desktop-section.header-sticky--scroll_up) {
  --header-sticky-content-transition: top .4s cubic-bezier(.39, .575, .565, 1) .3s;
}

body:has(.header-desktop-section.header-sticky--bottom_only) {
  --header-sticky-content-transition: top .4s cubic-bezier(.39, .575, .565, 1) .1s;
}

body:has(.header-desktop-section.header-sticky--scroll_up) {
  --header-sticky-content: 0px;
}

body:has(.header-desktop-section.header-sticky--scroll_up.header-pinning) {
  --header-sticky-content: var(--header-height, 0px);
}

/* Product siblings: swipe tabs on mobile/tablet */
@media (max-width: 1024px) {
  .product-siblings--tabs {
    max-width: 100%;
    min-width: 0;
  }

  .product-siblings--tabs .product-siblings__links {
    flex-wrap: nowrap;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .product-siblings--tabs .product-siblings__links::-webkit-sc
    display: none;
  }

  .product-siblings--tabs .product-siblings__link {
    flex-shrink: 0;
    white-space: nowrap;
    scroll-snap-align: start;
  }
}
