/** Shopify CDN: Minification failed

Line 7363:0 Unexpected "{"
Line 7363:1 Expected identifier but found "%"
Line 7364:28 Unexpected "/"
Line 7368:1 Expected identifier but found "%"
Line 7370:0 Unexpected "{"
Line 7370:1 Expected identifier but found "%"
Line 7371:0 Unexpected "{"
Line 7371:1 Expected identifier but found "%"
Line 7373:0 Unexpected "{"
Line 7373:1 Expected identifier but found "%"
... and 11 more hidden warnings

**/
:root {
  --alpha-button-background: 1;
  --alpha-button-border: 1;
  --alpha-link: 1;
  --tap-target: 44px;
  --tap-target-small: 24px;
}

.product-card-wrapper .card,
.contains-card--product {
  --border-radius: var(--product-card-corner-radius);
  --border-width: var(--product-card-border-width);
  --border-opacity: var(--product-card-border-opacity);
  --shadow-horizontal-offset: var(--product-card-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--product-card-shadow-vertical-offset);
  --shadow-blur-radius: var(--product-card-shadow-blur-radius);
  --shadow-opacity: var(--product-card-shadow-opacity);
  --shadow-visible: var(--product-card-shadow-visible);
  --image-padding: var(--product-card-image-padding);
  --text-alignment: var(--product-card-text-alignment);
}

.collection-card-wrapper .card,
.contains-card--collection {
  --border-radius: var(--collection-card-corner-radius);
  --border-width: var(--collection-card-border-width);
  --border-opacity: var(--collection-card-border-opacity);
  --shadow-horizontal-offset: var(--collection-card-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--collection-card-shadow-vertical-offset);
  --shadow-blur-radius: var(--collection-card-shadow-blur-radius);
  --shadow-opacity: var(--collection-card-shadow-opacity);
  --shadow-visible: var(--collection-card-shadow-visible);
  --image-padding: var(--collection-card-image-padding);
  --text-alignment: var(--collection-card-text-alignment);
}

.article-card-wrapper .card,
.contains-card--article {
  --border-radius: var(--blog-card-corner-radius);
  --border-width: var(--blog-card-border-width);
  --border-opacity: var(--blog-card-border-opacity);
  --shadow-horizontal-offset: var(--blog-card-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--blog-card-shadow-vertical-offset);
  --shadow-blur-radius: var(--blog-card-shadow-blur-radius);
  --shadow-opacity: var(--blog-card-shadow-opacity);
  --shadow-visible: var(--blog-card-shadow-visible);
  --image-padding: var(--blog-card-image-padding);
  --text-alignment: 'start';
}

.article-card-wrapper .article-card--featured {
  --image-padding: 0rem;
}

.contains-content-container,
.content-container {
  --border-radius: var(--text-boxes-radius);
  --border-width: var(--text-boxes-border-width);
  --border-opacity: var(--text-boxes-border-opacity);
  --shadow-horizontal-offset: var(--text-boxes-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--text-boxes-shadow-vertical-offset);
  --shadow-blur-radius: var(--text-boxes-shadow-blur-radius);
  --shadow-opacity: var(--text-boxes-shadow-opacity);
  --shadow-visible: var(--text-boxes-shadow-visible);
}

.contains-media,
.global-media-settings {
  --border-radius: var(--media-radius);
  --border-width: var(--media-border-width);
  --border-opacity: var(--media-border-opacity);
  --shadow-horizontal-offset: var(--media-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--media-shadow-vertical-offset);
  --shadow-blur-radius: var(--media-shadow-blur-radius);
  --shadow-opacity: var(--media-shadow-opacity);
  --shadow-visible: var(--media-shadow-visible);
}

/* BASE */

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

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

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

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

html.no-js .no-js-hidden,
.js .js-hidden {
  display: none !important;
}

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

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

.utility-bar__grid.page-width {
  padding-inline-start: 3rem;
  padding-inline-end: 3rem;
}

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

  .header.page-width,
  .utility-bar__grid.page-width {
    padding-inline-start: 5rem;
    padding-inline-end: 5rem;
  }

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

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

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

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

  .page-width--narrowest {
    max-width:  47.6rem;
    padding: 0;
  }

  .page-width--wide {
    max-width: none;
  }

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

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

.section__inner {
  padding-top: var(--spacing-section);
  padding-bottom: var(--spacing-section);
}

sup {
  font-size: max(0.5em, 16px);
}

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

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

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

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

.object-contain {
  object-fit: contain !important;
}

.object-top {
  object-position: top !important;
}

.object-bottom {
  object-position: bottom !important;
}

.object-center {
  object-position: center !important;
}

.hidden {
  display: none !important;
}

.no-js .no-js-not-hidden {
  display: block !important;
}

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

lazy-script {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}

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

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

.overflow-hidden {
  overflow: hidden;
}

.full-width-link {
  position: absolute;
  top: 0;
  inset-inline-end: 0;
  bottom: 0;
  inset-inline-start: 0;
  z-index: 2;
}

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

h1, h2, h3, h4, h5, h6,
.h0, .h1, .h2, .h3, .h4, .h5, .h6, .text-heading {
  font-family: var(--font-heading-family);
  font-style: var(--font-heading-style);
  font-weight: var(--font-heading-weight);
  letter-spacing: calc((var(--font-heading-scale) * var(--font-heading-letter-spacing)));
  color: rgb(var(--color-foreground));
  line-height: 1.26em; /*BMRK: Anything below this causes #8693ynwww */
  word-break: break-word;
  text-transform: var(--font-heading-case);
  background-image: var(--color-heading-gradient-background, none);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: var(--color-heading-gradient-fill, currentColor);
}

:is(h1, h2, h3, h4, h5, h6, .h0, .h1, .h2, .h3, .h4, .h5, .h6, .text-heading):has(animated-list) {
  -webkit-text-fill-color: currentColor;
}

th {
  overflow-wrap: normal;
}

.font-size-0 {
  font-size: 0;
}

.section-title,
.b-main-title,
.color-heading {
  color: rgb(var(--color-heading));
}

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

.b-main-title,
.page__description:only-child {
  margin-top: calc(var(--spacing-section) * 0.6);
  margin-bottom: calc(var(--spacing-section) * 0.6);
}

.section-title:not(:only-child),
.b-main-title:has(+ .rte),
.b-main-title:has(+ .section-view-all){
  margin-bottom: 0.5rem;
}

.b-main-title + .rte,
.b-main-title + .rte + .section-view-all,
.b-main-title + .section-view-all {
  margin-bottom: calc(var(--spacing-section) * 0.8);
}

.b-main-title + .rte:has(+ .section-view-all) {
  margin-bottom: 0;
}

.hxl { font-size: calc(var(--font-heading-scale) * 5.2rem);}
.h0, .h0-size { font-size: calc(var(--font-heading-scale) * 4.2rem);}
h1, .h1, .h1-size { font-size: calc(var(--font-heading-scale) * 3.4rem);}
h2, .h2, .h2-size { font-size: calc(var(--font-heading-scale) * 2.8rem);}
h3, .h3, .h3-size { font-size: calc(var(--font-heading-scale) * 2.5rem);}
h4, .h4, .h4-size { font-size: calc(var(--font-heading-scale) * 2.15rem);}
h5, .h5, .h5-size { font-size: calc(var(--font-heading-scale) * 1.9rem); }
h6, .h6, .h6-size { font-size: calc(var(--font-heading-scale) * 1.7rem); }

.text-size-custom { font-size: max(16px, calc(var(--font-heading-scale) * calc(var(--custom-font-size) * 0.75))); }

@media only screen and (min-width: 750px) {
  .hxl {  font-size: calc(var(--font-heading-scale) * 6.6rem); }
  .h0, .h0-size {     font-size: calc(var(--font-heading-scale) * 5.4rem); }
  h1, .h1, .h1-size { font-size: calc(var(--font-heading-scale) * 4.2rem); }
  h2, .h2, .h2-size { font-size: calc(var(--font-heading-scale) * 3.6rem); }
  h3, .h3, .h3-size { font-size: calc(var(--font-heading-scale) * 3rem); }
  h4, .h4, .h4-size { font-size: calc(var(--font-heading-scale) * 2.4rem); }
  h5, .h5, .h5-size { font-size: calc(var(--font-heading-scale) * 2rem); }
  h6, .h6, .h6-size { font-size: calc(var(--font-heading-scale) * 1.7rem); }

  .text-size-custom { font-size: max(16px, calc(var(--font-heading-scale) * calc(var(--custom-font-size) * 0.8))); }
}

@media only screen and (min-width: 1100px) {
  .hxl {  font-size: calc(var(--font-heading-scale) * 7.6rem); }
  .h0, .h0-size {     font-size: calc(var(--font-heading-scale) * 6.4rem); }
  h1, .h1, .h1-size { font-size: calc(var(--font-heading-scale) * 5.2rem); }
  h2, .h2, .h2-size { font-size: calc(var(--font-heading-scale) * 4rem); }
  h3, .h3, .h3-size { font-size: calc(var(--font-heading-scale) * 3.4rem); }
  h4, .h4, .h4-size { font-size: calc(var(--font-heading-scale) * 2.8rem); }
  h5, .h5, .h5-size { font-size: calc(var(--font-heading-scale) * 2.2rem); }
  h6, .h6, .h6-size { font-size: calc(var(--font-heading-scale) * 1.8rem); }
}

@media only screen and (min-width: 990px) {
  .text-size-custom { font-size: calc(var(--font-heading-scale) * var(--custom-font-size)); }
}

.text-body {
  letter-spacing: var(--font-body-letter-spacing);
  line-height: calc(1 + 0.8 / var(--font-body-scale));
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
  background-image: none;
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: currentColor;
}

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

.caption {
  font-size: 1.2rem;
  letter-spacing: 0.07rem;
  line-height: calc(1 + 0.7 / var(--font-body-scale));
}

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

.caption-with-letter-spacing {
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: calc(1 + 0.5 / var(--font-body-scale));
  text-transform: uppercase;
}

.caption-large,
.customer .field input,
.customer select,
.field__input,
.form__label,
.select__select {
  font-size: 1.3rem;
  line-height: calc(1 + 0.5 / var(--font-body-scale));
}

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

.color-background-transparent {
  background: transparent !important;
}

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

@media screen and (min-width: 750px) {
  .visible-xs {
    display: none !important;
  }
}

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

@media screen and (max-width: 989.98px) {
  .visible-md {
    display: none !important;
  }
}

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

.left {
  text-align: start;
}

.center {
  text-align: center;
}

.right {
  text-align: end;
}

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.capitalize {
  text-transform: capitalize;
}

.opacity-90 {
  opacity: 0.9;
}

.opacity-80 {
  opacity: 0.8;
}

.opacity-70,
.light {
  opacity: 0.7;
}

.opacity-60,
.xlight {
  opacity: 0.6;
}

.opacity-30 {
  opacity: 0.3;
}

.opacity-20 {
  opacity: 0.2;
}

.opacity-0 {
  opacity: 0;
}

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

.block-when-empty:empty {
  display: block;
}

.link,
.customer a:not(.button) {
  cursor: pointer;
  display: inline-block;
  border: none;
  box-shadow: none;
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  color: rgb(var(--color-link));
  background-color: transparent;
  font-family: inherit;
}

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

.link-with-icon {
  display: inline-flex;
}

.link-with-icon .icon {
  width: 1.5rem;
  margin-inline-start: 0.5rem;
}

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

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

@media screen and (min-width: 750px) {
  hr {
    margin: 7rem 0;
  }
}

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

.full-unstyled-link--foreground {
  text-decoration: none;
  color: rgb(var(--color-foreground));
}

.placeholder {
  background: linear-gradient(41deg, #6c7a87, #acbecf) !important;
  color: #fff;
  fill: #fff;
}

.placeholder-svg--cover {
  transform: scale(1.6);
  fill: rgba(255, 255, 255, 0.2);
}

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

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

.visibility-hidden {
  visibility: hidden;
}

:root {
  --duration-short: 100ms;
  --duration-default: 200ms;
  --duration-announcement-bar: 250ms;
  --duration-medium: 300ms;
  --duration-longish: 400ms;
  --duration-long: 500ms;
  --duration-extra-long: 600ms;
  --duration-xx-long: 1.5s;
  --duration-extended: 3s;
  --cubic-bezier-ease-out-slow: cubic-bezier(0.30, 0.62, 0.45, 1);
  --cubic-bezier-wipe: cubic-bezier(0.645, 0.045, 0.355, 1);
  --cubic-bezier-slide-in: cubic-bezier(0.4, 0, 0.6, 1);
  --animation-slide-in: slideIn var(--duration-extra-long) var(--cubic-bezier-ease-out-slow) forwards;
  --animation-fade-in: fadeIn var(--duration-extra-long) var(--cubic-bezier-ease-out-slow);
}

.section-text + .section-view-all {
  margin-top: 1rem;
}

.un-underlined-link,
.underlined-link,
.customer a:not(.button),
.inline-richtext a,
.custom-tabs--simple .custom-tab,
.rte a {
  text-underline-offset: min(0.25em, 0.9rem);
  text-decoration-thickness: 0.05em;
  transition: text-decoration-thickness ease var(--duration-short), text-decoration-color ease var(--duration-short);
}

.un-underlined-link {
  text-underline-offset: 0.3em;
}

.un-underlined-link:not(:hover) {
  text-decoration-color: transparent;
}

.un-underlined-link:hover,
.underlined-link:hover,
.customer a:not(.button):hover,
.inline-richtext a:hover,
.rte a:hover {
  color: rgb(var(--color-link));
  text-decoration-thickness: 0.1em;
}

.underlined-link,
.un-underlined-link,
.customer a:not(.button) {
  color: rgba(var(--color-link), var(--alpha-link));
}

.inline-richtext a,
.rte.inline-richtext a {
  color: currentColor;
}

.icon-arrow {
  width: 1.8rem;
}

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


/* BASE-DETAILS-SUMMARY */
summary {
  cursor: pointer;
  list-style: none;
  position: relative;
}

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

summary.arrow-inset .icon-caret {
  inset-inline-end: 1.5rem;
}

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

.disclosure-has-popup {
  position: relative;
}

.drawer {
  position: fixed;
  z-index: 1000;
  inset-inline-start: 0;
  top: 0;
  width: 100vw;
  height: 100%;
  display: flex;
  justify-content: flex-end;
  transition: visibility var(--duration-default) ease;
}

.drawer .slideshow__slide {
  visibility: inherit;
}

@media screen and (max-width: 749.98px) and (hover: none) and (pointer: coarse) {
  .custom-tab,
  .no-movement-mobile {
    animation: none !important;
    transition: none !important;
  }
}

/* BASE-FOCUS */
.tap-target,
.tap-target--small,
.rte p > a:only-child {
  position: relative;
}

/* COMPONENT-TITLE */
.title,
.title-wrapper-with-link {
  margin: 3rem 0 2rem;
}

.title-wrapper-with-link .title {
  margin: 0;
}

.title .link {
  font-size: inherit;
}

.title-wrapper {
  margin-bottom: 1.8rem;
}

.title-wrapper-with-link {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  margin-bottom: 3rem;
  flex-wrap: wrap;
}

.title-wrapper--self-padded-mobile {
  padding-inline-start: 1.5rem;
  padding-inline-end: 1.5rem;
}

@media screen and (min-width: 750px) {
  .title-wrapper {
    margin-bottom: 2rem;
  }

  .title-wrapper--self-padded-mobile {
    padding-inline-start: 0;
    padding-inline-end: 0;
  }
}

@media screen and (min-width: 990px) {
  .title-wrapper {
    margin-bottom: 3rem;
  }

  .title,
  .title-wrapper-with-link {
    margin: 5rem 0 3rem;
  }

  .title-wrapper-with-link {
    align-items: center;
  }

  .title-wrapper-with-link .title {
    margin-bottom: 0;
  }

  .title-wrapper--self-padded-tablet-down {
    padding-inline-start: 0;
    padding-inline-end: 0;
  }
}

.title-wrapper-with-link .link-with-icon {
  margin: 0;
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

.title-wrapper-with-link .link-with-icon svg {
  width: 1.5rem;
}

.title-wrapper-with-link a {
  margin-top: 0;
  flex-shrink: 0;
}

.title-wrapper--no-top-margin {
  margin-top: 0;
}

.title-wrapper--no-top-margin .title {
  margin-top: 0;
}

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

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

@media screen and (min-width: 550px) {
  .grid {
    column-gap: var(--grid-desktop-horizontal-spacing);
    row-gap: var(--grid-desktop-vertical-spacing);
  }
}

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

.grid--central-loners .grid__item:only-child {
  width: 100%;
  max-width: 100%;
}

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

@media screen and (min-width: 550px) {
  .grid__item {
    width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
    max-width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }

  .grid--central-loners .grid__item:only-child {
    width: 100%;
    max-width: 100%;
  }
}

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

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

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

@media screen and (min-width: 550px) {
  .grid--3-col .grid__item {
    width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
  }
}

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

.grid-2 {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(2,minmax(0,1fr));
}

.grid-span-2 {
  grid-column: span 2 / span 2;
}

@media screen and (min-width: 550px) {
  .grid-2 {
    gap: 2rem;
  }

  .grid-span-1-large {
    grid-column: span 1 / span 1;
  }

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

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

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

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

@media screen and (max-width: 749.98px) {
  .grid--1-col-tablet-down .grid__item {
    width: 100%;
    max-width: 100%;
  }

  .slider--tablet.grid--peek {
    margin: 0;
    width: 100%;
  }

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

  .slider.slider--tablet .scroll-trigger.animate--slide-in,
  .slider.slider--mobile .scroll-trigger.animate--slide-in {
    animation: none;
    opacity: 1;
    transform: inherit;
  }

  .scroll-trigger:not(.scroll-trigger--offscreen):not(.scroll-trigger--no-slide) .slider--tablet {
    animation: var(--animation-slide-in);
  }
}

@media screen and (min-width: 550px) and (max-width: 749.98px) {
  .grid--1-col-tablet-down .grid__item {
    width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }
}

@media screen and (min-width: 750px) {
  .grid--6-col-desktop:not(.grid--scaled) .grid__item {
    width: calc(16.66% - var(--grid-desktop-horizontal-spacing) * 5 / 6);
    max-width: calc(16.66% - var(--grid-desktop-horizontal-spacing) * 5 / 6);
  }

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

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

  .grid--3-col-desktop:not(.grid--scaled-large) .grid__item,
  .grid--4-col-desktop.grid--scaled .grid__item,
  .grid--5-col-desktop.grid--scaled .grid__item,
  .grid--6-col-desktop.grid--scaled .grid__item {
    width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
    max-width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
  }

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

@media screen and (min-width: 990px) {
  .grid--4-col-desktop.grid--scaled .grid__item,
  .grid--5-col-desktop.grid--scaled .grid__item,
  .grid--6-col-desktop.grid--scaled .grid__item {
    width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
    max-width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
  }
}

@media screen and (min-width: 1200px) {
  .grid--3-col-desktop.grid--scaled-large .grid__item {
    width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
    max-width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
  }

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

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

@media screen and (min-width: 750px) {
  .grid--1-col-desktop {
    flex: 0 0 100%;
    max-width: 100%;
  }

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

@media screen and (max-width: 549.98px) {
  .grid--peek .grid__item {
    min-width: 35%;
  }

  .grid--peek.slider .grid__item:first-of-type {
    margin-inline-start: var(--px-mobile);
  }

  /* Fix to show some space at the end of our sliders in all browsers */
  .grid--peek.slider:after {
    margin-inline-start: calc(-1 * var(--grid-mobile-horizontal-spacing));
  }

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

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

  .slider--tablet.grid--peek.grid--1-col-tablet-down .grid__item {
    width: calc(100% - var(--grid-mobile-horizontal-spacing) - var(--grid-mobile-horizontal-leg, 10rem));
  }

  .multicolumn .slider--tablet.grid--peek.grid--1-col-tablet-down .grid__item {
    width: calc(100% - var(--grid-mobile-horizontal-spacing) - 5rem);
  }

  .grid--1-col-tablet-down .icons-with-text__text-wrapper {
    flex-basis: 170px;
  }

  .grid--1-col-tablet-down .promo-card--image .promo-image {
    min-height: 140vw;
  }
}

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

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

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

  .slider--tablet.grid--peek .grid__item:first-of-type {
    margin-inline-start: var(--px-mobile);
  }

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

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

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

.horizontal-scroll {
  overflow-x: auto;
  position: relative;
  -webkit-overflow-scrolling: touch;
}

.horizontal-scroll::-webkit-scrollbar {
  display: none;
}

@media screen and (max-width: 749.98px) {
  .section-grid .grid__item:only-child {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .horizontal-scroll {
    margin-inline-end: calc(var(--px-mobile) * -1);
    padding-inline-end: var(--px-mobile);
  }
}

@media screen and (min-width: 750px) {
  .section-grid-wrapper--full-width slider-component:not(.slider-component-desktop) {
    padding: 0 var(--px-mobile);
    max-width: none;
  }
}

@media screen and (max-width: 989.98px) {
  .section-grid .slider.slider--tablet {
    margin-bottom: var(--px-mobile);
  }

  .section-grid .slider--tablet.product-grid {
    scroll-padding-inline-start: var(--px-mobile);
  }
}

/* COMPONENT-FADE FULL WIDTH ANIMATION */
full-width-animate {
  display: block;
  transition: clip-path 0.2s ease;
}

@media screen and (min-width: 750px) {
  full-width-animate .banner__box {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}

/* COMPONENT-FADE TRUNCATOR */
.content-truncator__wrapper.is-expandable {
  transition: max-height 0.4s, mask-image 1s, -webkit-mask-image 1s;
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0)); /* Fade out text */
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0)); /* For WebKit browsers */
}

.content-truncator__button {
  padding: 2rem 0 0 0;
  transition: max-height 0.3s 0.1s, opacity 0.3s 0.1s, visibility 0.3s 0.1s, padding 0.3s 0.1s;
}

.content-truncator__wrapper.expanded,
.tab-active .content-truncator__wrapper {
  max-height: var(--max-content-height, 2000px) !important;
  mask-image: none;
  -webkit-mask-image: none;
}

.content-truncator__wrapper.expanded + .content-truncator__button,
.tab-active .content-truncator__button {
  max-height: 0;
  opacity: 0;
  padding: 0;
  visibility: hidden;
}

/* COMPONENT-MEDIA */
.media {
  display: block;
  position: relative;
  overflow: hidden;
}

.hover-zoom {
  overflow: hidden;
}

.hover-zoom img {
  transition: transform var(--duration-long) ease;
}

.hover-zoom:hover img {
  transform: scale(1.03);
}

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

.media--no-photo-square {
  aspect-ratio: 1 / 1;
}

.media--no-photo svg {
  width: 60% !important;
  inset-inline-start: 50% !important;
  transform: translate(-50%);
}

.card--horizontal .media--no-photo svg {
  width: 90% !important;
}

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

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

@media (hover: hover) and (pointer: fine) {
  .media > .picture-image,
  .media > .picture-image > img,
  .media > img {
    transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform var(--duration-long) ease;
  }
}

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

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

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

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

.media--portrait_tall {
  padding-bottom: 150%;
}

.media--landscape_wide {
  padding-bottom: 56.25%;
}

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

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

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

.media.media--hover-effect > img + img:not(.swatch-hover-image) {
  opacity: 0;
}

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

deferred-media {
  display: block;
}

/* COMPONENT-BUTTON */
.button,
.shopify-challenge__button,
.customer button,
button.shopify-payment-button__button--unbranded,
.shopify-payment-button [role='button'],
.cart__dynamic-checkout-buttons [role='button'],
.cart__dynamic-checkout-buttons iframe {
  --shadow-horizontal-offset: var(--buttons-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--buttons-shadow-vertical-offset);
  --shadow-blur-radius: var(--buttons-shadow-blur-radius);
  --shadow-opacity: var(--buttons-shadow-opacity);
  --shadow-visible: var(--buttons-shadow-visible);
  --border-opacity: calc(1 - var(--buttons-border-opacity));
  border-radius: var(--buttons-radius-outset);
  position: relative;
}


/* COMPONENT-BUTTONS WITH ICONS */
.button-with-icon {
  display: flex;
  position: relative;
  align-items: center;
  gap: 0.5em;
}

.button-with-icon .icon {
  width: 1.3em;
  position: absolute;
  margin-top: 1px;
}

.button--full-width.button-with-icon .icon {
  position: static;
  margin-top: 0;
}

.button--full-width.button-with-icon:not(.button--full-width-icon-right) > span:not(.loading__spinner) {
  padding-inline-end: 0.8rem;
}

.button--full-width.button--full-width-icon-right > span {
  padding-inline-start: 0.8rem;
}

.link.button-with-icon {
  display: inline-flex;
}

.button--primary.button-with-icon .icon {
  --color-icon: var(--color-button-text);
}

.button--secondary.button-with-icon .icon {
  --color-icon: var(--color-secondary-button-text);
}

.link.button-with-icon .icon {
  --color-icon: var(--color-link);
}

.button-with-icon--right {
  padding-inline-end: 3.4em !important;
}

.button-with-icon--right .icon {
  inset-inline-end: 1.4em;
}

.link.button-with-icon--right {
  padding-inline-end: 1.5em !important;
}

.link.button-with-icon--right .icon {
  inset-inline-end: 0;
}

.button-with-icon--left {
  padding-inline-start: 3.4em !important;
}

.button-with-icon--left .icon {
  inset-inline-start: 1.4em;
}

.link.button-with-icon--left {
  padding-inline-start: 1.5em !important;
}

.link.button-with-icon--left .icon {
  inset-inline-start: 0;
}

/* COMPONENT-BUTTONS OVER MEDIA */
.button-control {
  background-color: #fff;
  color: #56585b !important;
  box-shadow: rgba(60, 64, 67, 0.15) 0 1px 3px 1px !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--controls-corner-radius);
  border: none;
  height: 44px;
  width: 44px;
  transition: background-color var(--duration-medium);
}

.button-control--no-colors {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: none;
  height: 44px;
  width: 44px;
  background-color: transparent;
}

.button-control-colors {
  --color-foreground: 86,88,91;
  background-color: #fff;
  color: #56585b !important;
  box-shadow: rgba(60, 64, 67, 0.15) 0 1px 3px 1px;
}

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

.cart__dynamic-checkout-buttons iframe {
  box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) var(--shadow-blur-radius)
    rgba(var(--color-shadow), var(--shadow-opacity));
}

.button,
.button-label,
.shopify-challenge__button,
.customer button,
button.shopify-payment-button__button--unbranded {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 0;
  padding: 1.1em 1.6em;
  cursor: pointer;
  font: inherit;
  font-size: var(--font-button-text-size);
  text-decoration: none;
  line-height: 1.2em;
  color: rgb(var(--color-button-text));
  transition: box-shadow var(--duration-medium) ease, background-position var(--duration-medium) ease-in-out;
  -webkit-appearance: none;
  appearance: none;
  background-color: rgba(var(--color-button), var(--color-button-alpha));
  letter-spacing: var(--font-button-letter-spacing);
  text-transform:  var(--font-button-case);
  font-weight: var(--font-button-font-weight);
  overflow-wrap: anywhere;
}

.shopify-payment-button .shopify-payment-button__button [role='button'] {
  padding-top: 1.1em !important;
  padding-bottom: 1.1em !important;
}

@media screen and (min-width: 750px) {
  .button,
  .button-label,
  .shopify-challenge__button,
  .customer button,
  button.shopify-payment-button__button--unbranded {
    padding: 1.2em 2.2em;
  }

  .shopify-payment-button .shopify-payment-button__button [role='button'] {
    padding-top: 1.2em !important;
    padding-bottom: 1.2em !important;
  }
}

.button--primary {
  background-image: var(--color-button-gradient, none);
}

button.shopify-payment-button__button--unbranded:hover:not([disabled]) {
  background-color: rgba(var(--color-button), var(--alpha-button-background));
}

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

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

.button:after,
.shopify-challenge__button:after,
.customer button:after,
.shopify-payment-button__button--unbranded:after {
  /* Button border */
  content: '';
  position: absolute;
  top: var(--buttons-border-width);
  inset-inline-end: var(--buttons-border-width);
  bottom: var(--buttons-border-width);
  inset-inline-start: var(--buttons-border-width);
  z-index: 1;
  border-radius: var(--buttons-radius);
  box-shadow: 0 0 0 var(--buttons-border-width) rgba(var(--color-button-text), var(--border-opacity)),
    0 0 0 var(--buttons-border-width) rgba(var(--color-button), var(--alpha-button-background));
  transition: box-shadow var(--duration-default) ease;
}

.button--primary::after {
  box-shadow: none;
}

.button--secondary:after {
  --border-opacity: var(--buttons-border-opacity);
}

.button--secondary-gradient::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: max(var(--buttons-border-width), 2px);
  border-radius: inherit;
  background: var(--color-secondary-button-border-gradient);
  background-size: 125% 125%;
  -webkit-mask:
          linear-gradient(#fff 0 0) content-box,
          linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: 0 !important;
  transition: padding var(--duration-default) ease;
  transform: translateZ(0);
  outline: 1px solid transparent;
  will-change: transform;
}

.button--secondary-gradient:hover::before {
  padding: calc(max(var(--buttons-border-width), 2px) + 1px) !important;
}

.button--secondary-gradient::after {
  content: none;
}

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

.button--tertiary {
  font-size: 1.2rem;
  padding: 1rem 1.5rem;
  min-width: calc(9rem + var(--buttons-border-width) * 2);
  min-height: calc(3.5rem + var(--buttons-border-width) * 2);
}

.button--small {
  padding: 1.2rem 2.6rem;
}

/* BUTTON - OTHER */
.button:disabled,
.shopify-payment-button__button:disabled,
.shopify-payment-button__button[aria-disabled='true'],
.button[aria-disabled='true'],
.button.disabled,
.customer button:disabled,
.customer button[aria-disabled='true'],
.customer button.disabled,
.quantity__button.disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.button--full-width {
  display: flex;
  width: 100%;
}

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

.button.loading {
  color: transparent;
  position: relative;
}

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

.button.loading > .loading__spinner,
quick-add-bulk .loading__spinner {
  top: 50%;
  inset-inline-start: 50%;
  transform: translate(calc(-50% * var(--direction-multiplier)), -50%);
  position: absolute;
  height: 100%;
  display: flex;
  align-items: center;
}

quick-add-bulk .loading__spinner {
  inset-inline-start: calc(50% - 1ch);
}

.button.loading > .loading__spinner .spinner,
quick-add-bulk .loading__spinner .spinner {
  width: fit-content;
  width: max-content; /* Fallback */
}

.button.loading > .loading__spinner .path {
  stroke: rgb(var(--color-button-text));
}

.sticky-cta__button .button > span:first-of-type::before,
.quick-add__submit > span:first-of-type::before,
.product-form__submit > span:first-of-type::before {
  content: "\2713";
  font-family: system-ui, sans-serif;
  position: absolute;
  color: rgb(var(--color-button-text));
  z-index: 1;
  background-color: rgba(var(--color-button),var(--color-button-alpha));
  font-size: 17px;
  inset: var(--buttons-border-width);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s;
  border-radius: var(--buttons-radius);
}

.sticky-cta__button .button.added-to-cart > span:first-of-type::before,
.quick-add__submit.added-to-cart > span:first-of-type::before,
.product-form__buttons .product-form__submit.added-to-cart > span:first-of-type::before {
  opacity: 1;
  transition-duration: 0s;
}

/* FORM */
.field__input,
.select__select,
.customer .field input,
.customer select {
  -webkit-appearance: none;
  appearance: none;
  background-color: rgb(var(--color-background));
  color: rgb(var(--color-foreground));
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
  font-size: 1.6rem;
  width: 100%;
  box-sizing: border-box;
  transition: box-shadow var(--duration-short) ease;
  border-radius: var(--inputs-radius);
  height: 4.5rem;
  min-height: calc(var(--inputs-border-width) * 2);
  min-width: calc(7rem + (var(--inputs-border-width) * 2));
  position: relative;
  border: 0;
}

.field__input.visible-placeholder {
  /*padding: 2.2rem 1.5rem 0.8rem 2rem;*/
  padding: 0.8rem 2rem;
  padding-inline-end: 1.5rem;
  margin: var(--inputs-border-width);
}

.field__input::placeholder,
.select__select::placeholder,
.customer .field input::placeholder,
.customer select::placeholder {
  color: rgb(var(--color-foreground));
}

.field:before,
.select:before,
.customer .field:before,
.customer select:before,
.localization-form__select:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 0;
  inset-inline-end: 0;
  bottom: 0;
  inset-inline-start: 0;
  border-radius: var(--inputs-radius-outset);
  box-shadow: var(--inputs-shadow-horizontal-offset) var(--inputs-shadow-vertical-offset)
    var(--inputs-shadow-blur-radius) rgba(var(--color-shadow), var(--inputs-shadow-opacity));
  z-index: -1;
}

.field:after,
.select:after,
.customer .field:after,
.customer select:after,
.localization-form__select:after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: var(--inputs-border-width);
  inset-inline-end: var(--inputs-border-width);
  bottom: var(--inputs-border-width);
  inset-inline-start: var(--inputs-border-width);
  border: 0.1rem solid transparent;
  border-radius: var(--inputs-radius);
  box-shadow: 0 0 0 var(--inputs-border-width) rgba(var(--color-foreground), var(--inputs-border-opacity));
  transition: box-shadow var(--duration-default) ease;
  z-index: 1;
}

.search__input.field__input {
  padding-inline-end: 6.8rem;
  height: 5.2rem;
  background: transparent;
}

.select__select {
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
  /*font-size: 1.2rem;*/
  color: rgba(var(--color-foreground), 0.75);
}

.select .icon-caret {
  opacity: 0.7;
  transition: opacity var(--duration-default) ease;
}

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

/* SELECT */
.select .icon-caret {
  height: 1.6rem;
  pointer-events: none;
  position: absolute;
  top: calc(50% - 0.7rem);
  inset-inline-end: calc(var(--inputs-border-width) + 1.5rem);
}

.customer select + svg {
  height: 0.8rem;
  pointer-events: none;
  position: absolute;
  top: calc(50% - 0.3rem);
  inset-inline-end: calc(var(--inputs-border-width) + 1.5rem);
}

.select__select,
.customer select {
  cursor: pointer;
  line-height: calc(1 + 0.6 / var(--font-body-scale));
  padding: 0 2rem;
  padding-inline-end: calc(var(--inputs-border-width) + 4rem);
  margin: var(--inputs-border-width);
  min-height: calc(var(--inputs-border-width) * 2);
}

/* FIELD */
.field {
  position: relative;
  width: 100%;
  display: flex;
  transition: box-shadow var(--duration-short) ease;
}

.field--small .select__select,
.field--small .field__input {
  height: 3.8rem;
}

@media screen and (max-width: 749.98px) {
  .search__input.field__input {
    font-size: 16px; /* Prevent iOS zoom  */
  }

  .search__input.field__input::placeholder {
    font-size: 1.4rem;
  }

  .search-modal .search-modal__form .field {
    width: calc(100% - 3.8rem);
  }
}

.customer .field {
  display: flex;
}

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

.field__input,
.customer .field input {
  font-family: inherit;
  flex-grow: 1;
  text-align: start;
  padding: 1.5rem;
  margin: var(--inputs-border-width);
  transition: box-shadow var(--duration-short) ;
}

.field__label,
.customer .field label {
  font-size: 1.6rem;
  inset-inline-start: calc(var(--inputs-border-width) + 2rem);
  top: calc(1rem + var(--inputs-border-width));
  margin-bottom: 0;
  pointer-events: none;
  position: absolute;
  transition: top var(--duration-short) var(--cubic-bezier-wipe), font-size var(--duration-short) ease;
  color: rgba(var(--color-foreground), 0.75);
  letter-spacing: 0;
  line-height: 1.5;
  white-space: nowrap;
  max-width: calc(100% - 4rem);
  text-overflow: ellipsis;
  overflow: hidden;
}

/* INPUT FOCUS STATES */
.field__input:focus ~ .field__label,
.field__input:not(:placeholder-shown) ~ .field__label,
.field__input:-webkit-autofill ~ .field__label,
.customer .field input:focus ~ label,
.customer .field input:not(:placeholder-shown) ~ label,
.customer .field input:-webkit-autofill ~ label {
  font-size: 1rem;
  top: calc(var(--inputs-border-width) + -0.8rem);
  background-color: rgb(var(--color-background));
  padding-inline-start: 6px;
  padding-inline-end: 6px;
  inset-inline-start: calc(var(--inputs-border-width) + 2rem - 6px);
  z-index: 2;
  border-radius: var(--text-boxes-radius);
}

.banner--desktop-transparent .field__input:focus ~ .field__label,
.banner--desktop-transparent .field__input:not(:placeholder-shown) ~ .field__label,
.banner--desktop-transparent .field__input:-webkit-autofill ~ .field__label,
.customer .banner--desktop-transparent .field input:focus ~ label,
.customer .banner--desktop-transparent .field input:not(:placeholder-shown) ~ label,
.customer .banner--desktop-transparent .field input:-webkit-autofill ~ label {
  background-color: rgb(var(--color-foreground));
  color: rgba(var(--color-background), 0.7);
}

.field__input:focus,
.field__input:not(:placeholder-shown),
.field__input:-webkit-autofill,
.customer .field input:focus,
.customer .field input:not(:placeholder-shown),
.customer .field input:-webkit-autofill,
.field__input.visible-placeholder {
  /*padding: 2.2rem 1.5rem 0.8rem 2rem;*/
  padding: 0.8rem 2rem;
  padding-inline-end: 1.5rem;
  margin: var(--inputs-border-width);
}

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

.field__input:not(.visible-placeholder)::placeholder,
.customer .field input::placeholder {
  opacity: 0;
}

.field__button {
  align-items: center;
  background-color: transparent;
  border: 0;
  color: currentColor;
  cursor: pointer;
  display: flex;
  height: calc(4.5rem + (var(--inputs-border-width) * 2));
  justify-content: center;
  overflow: hidden;
  padding: 0;
  position: absolute;
  inset-inline-end: 0;
  top: 0;
  width: 4.4rem;
}

.field__button > svg {
  height: 2.5rem;
  width: 2.5rem;
}

.field__input:-webkit-autofill ~ .field__button,
.field input:-webkit-autofill ~ .form-icon {
  color: rgb(0, 0, 0);
}

/* CHECKBOX */
.field__checkbox {
  position: absolute;
  opacity: 0;
}

.field__checkbox + label {
  position: relative;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}

.tab-active .field__checkbox:focus + label::before {
  outline-offset: 0;
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
}

.field__checkbox + label::before {
  content: "";
  margin-top: 1px;
  margin-inline-end: 10px;
  display: inline-block;
  vertical-align: text-top;
  border: 1px solid rgb(var(--color-foreground));
  width: 18px;
  height: 18px;
  background: rgb(var(--color-background));
  border-radius: 4px;
  transition: border-color var(--duration-medium), background-color var(--duration-medium);
  flex-shrink: 0;
}

.field__checkbox[type="radio"] + label::before {
  border-radius: 50%;
}

.field__checkbox:checked + label::before {
  background: rgb(var(--color-foreground));
  border-color: rgb(var(--color-foreground));
}

.field__checkbox:checked + label::after {
  content: "";
  position: absolute;
  inset-inline-start: 4px;
  top: 9px;
  background: rgb(var(--color-background));
  width: 2px;
  height: 2px;
  box-shadow: 2px 0 0 rgb(var(--color-background)), 4px 0 0 rgb(var(--color-background)), 4px -2px 0 rgb(var(--color-background)), 4px -4px 0 rgb(var(--color-background)), 4px -6px 0 rgb(var(--color-background)), 4px -8px 0 rgb(var(--color-background));
  transform: rotate(45deg);
}

.field__checkbox + label > span {
  margin-inline-start: -3px;
}

/* TEXT AREA */
.text-area {
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
  min-height: 10rem;
  resize: none;
}

.field:has(.text-area)::before,
.field:has(.text-area)::after,
.text-area {
  border-radius: min(var(--inputs-radius), 20px);
}

/* COMPONENT-MODAL */
.modal__toggle {
  list-style-type: none;
}

.modal__toggle-open {
  display: flex;
}

.modal__toggle-close {
  display: none;
}

/* COMPONENT-CART-COUNT-BUBBLE */
.cart-count-bubble:empty {
  display: none;
}

.cart-count-bubble {
  position: absolute;
  background-color: rgb(var(--color-button));
  color: rgb(var(--color-button-text));
  box-shadow: 0 0 0 2px rgb(var(--color-background));
  height: 17px;
  width: 17px;
  border-radius: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 9px;
  line-height: 9px;
  bottom: 8px;
  inset-inline-start: 2.7rem;
  white-space: nowrap;
}

@media screen and (min-width: 990px) {
  .cart-count-bubble {
    inset-inline-start: 2.6rem;
  }
}

/* UTILITY-BAR */
.utility-bar {
  height: 100%;
}

.utility-bar,
.utility-bar .disclosure__list-wrapper {
  transition: background 1s, color 1s;
}

.h3-size .disclosure__button span,
.h3-size .disclosure__list .link {
  font-size: calc(var(--font-heading-scale) * 1.7rem);
}

.h4-size .disclosure__button span,
.h4-size .disclosure__list .link {
  font-size: calc(var(--font-heading-scale) * 1.5rem);
}

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

.announcement-bar,
.announcement-bar__announcement {
  color: rgb(var(--color-foreground));
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-content: center;
  grid-area: announcements;
}

.announcement__icons .icon {
  height: 1.3em;
  width: 1.3em;
}

.announcement__icons .stroke-width-standard {
  stroke-width: 32px;
}

.announcement__icons .icon--silhouette_circle,
.announcement__icons .icon--information_circle,
.announcement__icons .icon--question_mark,
.announcement__icons .check_mark_circle {
  height: 1.5em;
  width: 1.5em;
}

@media screen and (min-width: 750px) {
  .announcement-bar__announcement-left {
    justify-content: flex-start;
  }

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

.announcement-bar .slider--everywhere {
  margin-bottom: 0;
  scroll-behavior: auto;
}

.utility-bar__grid .announcement-bar-slider {
  width: 100%;
}

.utility-bar__grid .announcement-bar-slider {
  width: 100%;
}

.announcement-bar-slider,
.announcement-bar-slider .slider {
  width: 100%;
}

.localization-wrapper {
  grid-area: language-currency;
  align-self: center;
  display: flex;
  justify-content: flex-end;
}

.localization-wrapper--h-full,
.localization-wrapper--h-full .localization-form,
.localization-wrapper--h-full .localization-form > div,
.localization-wrapper--h-full .disclosure,
.localization-wrapper--h-full .disclosure__button {
  border-radius: 0;
  height: 100% !important;
}

.section-announcement-bar .disclosure .localization-form__select {
  background-color: rgba(var(--color-foreground), .07) !important;
}

.localization-wrapper .localization-selector + .disclosure__list-wrapper {
  will-change: transform;
  animation: animateMenuOpen var(--duration-medium) ease;
}

.utility-bar .localization-wrapper .disclosure .localization-form__select,
.utility-bar .localization-wrapper .disclosure__link {
  font-size: inherit;
}

@media screen and (min-width: 990px) {
  body:has(.section-header .header:not(.drawer-menu)) .utility-bar .page-width {
    padding-inline-start: 5rem;
    padding-inline-end: 5rem;
  }

  .announcement-bar-slider {
    width: 60%;
  }

  .announcement-bar .slider-button {
    height: 3.8rem;
  }
}

.announcement-bar__message {
  padding: var(--announcement-padding) 0;
  margin: 0;
  min-height: 3.8rem;
}

/* CRITICAL LOCALIZATION */
.localization-form__select .icon-caret {
  position: absolute;
  content: '';
  height: 1.6rem;
  inset-inline-end: calc(var(--buttons-border-width) + 1.2rem);
  top: calc(50% - 0.7rem);
  transition: transform var(--duration-default) ease;
}

.localization-selector.link {
  text-decoration: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  color: rgb(var(--color-foreground));
  width: 100%;
  padding-inline-end: 4rem;
  padding-bottom: 1.5rem;
}

.disclosure {
  position: relative;
}

.disclosure--full .language-column {
  border-bottom: 1px solid rgba(var(--color-foreground), .08);
}

.disclosure--has-arrow::after {
  content: "";
  position: absolute;
  top: 100%;
  bottom: -20px;
  inset-inline-start: -30px;
  inset-inline-end: -15px;
  z-index: 6;
}

.localization-flag {
  height: 20px;
  width: 20px;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid rgba(var(--color-foreground), 0.1);
}

.localization-flag img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.disclosure--has-arrow::before {
  content: "";
  position: absolute;
  bottom: -16px;
  inset-inline-start: 50%;
  transform: translateX(calc(-50% * var(--direction-multiplier))) translateY(5px);
  width: 0;
  height: 0;
  border-inline-start: 12px solid transparent;
  border-inline-end: 12px solid transparent;
  border-bottom: 12px solid rgb(var(--color-background));
  filter: drop-shadow(0 -4px 2px rgba(var(--color-foreground),var(--popup-border-opacity)));
  z-index: 7;
  opacity: 0;
  visibility: hidden;
  transition: transform var(--duration-medium) ease, border-color 1s;
}

body:not(.drawer--open) .disclosure--opens-on-hover.disclosure--has-arrow:hover::before,
.disclosure--has-arrow:has(.disclosure__button[aria-expanded='true'])::before {
  opacity: 1;
  visibility: visible;
  transform: translateX(calc(-50% * var(--direction-multiplier))) translateY(0);
  transition: opacity var(--duration-short) ease 0.2s, visibility var(--duration-short) ease 0.2s, transform var(--duration-medium) ease 0.2s, border-color 1s;
}

body:not(.drawer--open) .disclosure--opens-on-hover:hover .icon-caret {
  transform: scaleY(-1);
}

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

.disclosure__button {
  align-items: center;
  cursor: pointer;
  display: flex;
  height: 4rem;
  padding: 0 1.5rem 0 1.5rem;
  font-size: 1.3rem;
  background-color: transparent;
}

.header-localization:not(.menu-drawer__localization) {
  align-items: center;
}

.js .header-localization:not(.menu-drawer__localization) .localization-form__select {
  padding: 0.5rem 1.5rem;
  padding-inline-end: 3rem;
  width: max-content;
  height: 3.8rem;
}

.header-localization:not(.menu-drawer__localization) .localization-form:only-child .localization-form__select {
  margin: 0;
}

.header-localization:not(.menu-drawer__localization).localization-form__select > span {
  max-width: 20ch;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.header-localization:not(.menu-drawer__localization) localization-form:only-child .localization-form__select > span {
  max-width: 26ch;
}

.section-announcement-bar .header-localization:not(.menu-drawer__localization) localization-form:only-child .localization-form__select > span {
  max-width: 33ch;
}

.header-localization:not(.menu-drawer__localization) .localization-form__select .icon-caret {
  inset-inline-end: 0.9rem;
}

.header-localization:not(.menu-drawer__localization) .disclosure__list-wrapper {
  bottom: initial;
  top: calc(100% + 15px);
  inset-inline-end: 0;
  transform: translateY(0);
}

.localization-form__select .icon-caret {
  position: absolute;
  content: "";
  height: 1.6rem;
  inset-inline-end: calc(var(--buttons-border-width) + 1.2rem);
  top: calc(50% - .7rem);
  transition: transform var(--duration-default) ease;
}

.header-localization .localization-form__select.link:after,
.header-localization .localization-form__select.link:before {
  box-shadow: none;
}

.header-localization .disclosure .localization-form__select,
.header-localization .disclosure__link {
  height: auto;
  min-height: initial;
  background-color: transparent;
}

.header-localization .disclosure .localization-form__select {
  background-color: rgba(var(--color-foreground), .06);
}

.header-localization .disclosure .localization-form__select:hover {
  color: rgb(var(--color-link));
}

.localization-form__select {
  border-radius: var(--buttons-radius-outset);
  position: relative;
  margin-bottom: 1.5rem;
  padding-inline-start: 1rem;
  text-align: start;
  min-height: calc(4rem + var(--buttons-border-width) * 2);
  min-width: calc(7rem + var(--buttons-border-width) * 2);
  max-height: 27.5rem;
}

.disclosure__button.localization-form__select {
  padding: calc(2rem + var(--buttons-border-width));
  background: transparent;
}

/* SECTION STANDARD CONTENT */
@media screen and (max-width: 749.98px) {
  .background-transparent:not(.image-overlay) .section-content {
    padding: 3rem 0 0;
  }

  .banner--mobile-box .section-content {
    padding: 2.5rem 3rem;
  }
}

.p-section-content {
  padding: 4rem 3.5rem;
}

.section-content {
  --section-content-gap: 1.8rem;
  padding: 4rem;
  position: relative;
  height: fit-content;
  /*width: 100%;*/
  word-wrap: break-word;
  z-index: 1;
}

.section-content > *, .block-grid-item__inner > * {
  margin-top: var(--section-content-gap, 1.8rem);
  margin-bottom: var(--section-content-gap, 1.8rem);
  overflow-wrap: break-word;
}

.section-content > *:first-child, .block-grid-item__inner > *:first-child {
  margin-top: 0;
}

.section-content > *:last-child,
.section-content > *:last-child > *:only-child,
.block-grid-item__inner > *:last-child,
.block-grid-item__inner > *:last-child > *:only-child
{
  margin-bottom: 0;
}

.section-content__caption {
  color: rgb(var(--color-caption));
}

.section-content__images {
  gap: var(--grid-mobile-horizontal-spacing);
  font-size: 0;
}

.section-content__images-image {
  width: var(--image-mobile-width);
}

@media screen and (min-width: 750px) {
  .section-content__images {
    gap: var(--grid-desktop-horizontal-spacing);
  }

  .section-content__images-image {
    width: var(--image-desktop-width);
  }
}

.section-content__buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--section-content-gap, 1.8rem);
  width: 100%;
  word-break: break-word;
  margin-top: 0;
}

.section-content__buttons-with-link {
  gap: calc(var(--section-content-gap, 1.8rem) + 10px);
}

.section-content__buttons + .section-content__buttons {
  margin-top: var(--section-content-gap, 1.8rem);
}

/* SECTION HEADER */
.section-header.shopify-section-group-header-group {
  z-index: 5; /* 4 goes under the search bar */
}

.header__icon--account shop-user-avatar {
  --shop-avatar-size: 2.8rem;
}

.shopify-section-header-sticky {
  position: sticky;
  top: 0;
  transition: box-shadow 1s;
}

.scrolled-past-header {
  box-shadow: 0 1px 10px 0 rgba(0,0,0,.15);
}

.shopify-section-header-hidden {
  top: calc(-1 * var(--header-height, 0px) - 1px);
}

.shopify-section-header-hidden.menu-open {
  top: 0;
}

.section-header.animate,
.section:has(.xs\:stick-to-header),
.section:has(.md\:stick-to-header) {
  transition: top 0.15s ease-out;
}

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

.shopify-section-group-footer-group {
  position: relative;
  z-index: 1;
}

.section-header ~ .shopify-section-group-header-group {
  z-index: initial;
}

.search__button {
  background-color: rgb(var(--color-button));
  background-image: var(--color-button-gradient, none);
  color: rgb(var(--color-button-text));
  border-radius: var(--control-border-radius);
  top: var(--control-inset);
  bottom: var(--control-inset);
  inset-inline-end: var(--control-inset);
  height: auto;
  width: 4.2rem;
}

.search__button:not(:focus-visible):not(.focused) {
  box-shadow: inherit;
}

.search__button .icon {
  height: 1.8rem;
  width: 1.8rem;
}

/* MAIN HEADER LAYOUT */
.header-wrapper {
  display: block;
  position: relative;
  background-color: rgb(var(--color-background));
}

.header {
  display: grid;
  grid-template-areas: 'left-icons heading icons';
  grid-template-columns: 1fr 2fr 1fr;
  align-items: center;
}

@media screen and (min-width: 990px) {
  .header {
    --header-gap: 2rem;
    --header-elements-height: 5.2rem;
    grid-template-columns: 1fr auto 1fr;
  }

  .header--top-left,
  .header--middle-inset-inline-start:not(.header--has-menu) {
    grid-template-areas: 'heading navigation icons';
    grid-template-columns: auto 1fr auto;
    column-gap: var(--header-gap);
  }

  .header--top-left.drawer-menu,
  .header--middle-left.drawer-menu {
    grid-template-areas: 'burger heading navigation icons';
    grid-template-columns: auto auto 1fr auto;
    column-gap: var(--header-gap);
  }

  .drawer-menu--on-scroll header-drawer {
    max-width: 0;
    opacity: 0;
    visibility: hidden;
    transition: max-width .3s, opacity 0.3s, visibility 0.3s;
  }

  .scrolling-down .drawer-menu--on-scroll header-drawer {
    max-width: 60px;
    opacity: 1;
    visibility: visible;
  }

  .header--middle-left {
    grid-template-areas: 'heading navigation icons';
    grid-template-columns: auto 1fr auto;
    column-gap: 2rem;
  }

  .header--middle-center:not(.drawer-menu) {
    grid-template-areas: 'navigation heading icons';
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);;
    column-gap: 2rem;
  }

  .header--middle-center a.header__heading-link {
    text-align: center;
  }

  .header--top-center {
    grid-template-areas:
      'left-icons heading icons'
      'navigation navigation navigation';
  }

  .header--top-center.drawer-menu {
    grid-template-areas: 'left-icons heading icons';
    grid-template-columns: 1fr auto 1fr;
  }

  .header:not(.header--middle-left, .header--middle-center) .header__inline-menu {
    margin-top: 1.05rem;
  }
}

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

.header > .header__heading-link {
  line-height: 0;
  transition: margin-inline-start 0.3s, margin-inline-end 0.3s;
}

.header__heading-link {
  grid-area: heading;
  justify-self: center;
  display: inline-block;
  padding: 0.75rem;
  text-decoration: none;
  word-break: break-word;
}

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

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

.header__heading-logo {
  height: auto;
  max-width: 100%;
}

.header__heading-logo-wrapper {
  width: 100%;
  display: inline-block;
  transition: width 0.3s cubic-bezier(0.52, 0, 0.61, 0.99);
}

@media screen and (max-width: 989.98px) {
  .header__heading-link {
    text-align: center;
  }

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

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

  .header--keep-mobile-search {
    padding: calc(var(--px-mobile) * 0.4) var(--px-mobile) calc(var(--px-mobile) * 0.8) !important;
    row-gap: 0.5rem;
    grid-template-areas:
        "burger heading icons"
        "navigation navigation navigation";
    grid-template-columns: auto auto 1fr;
    grid-template-rows: auto auto;
  }

  .header--keep-mobile-search.header--mobile-center {
    grid-template-areas:
        "left-icons heading icons"
        "navigation navigation navigation";
    grid-template-columns: 1fr 2fr 1fr;
  }

  .header--keep-mobile-search .search-modal__form {
    --control-border-radius: var(--inputs-radius);
    width: 100%;
  }

  .header--keep-mobile-search .header__search-bar {
    grid-area: navigation;
    display: flex !important;
    z-index: 4;
  }
}

@media screen and (min-width: 750px) {
  .header--keep-mobile-search .header__search-bar {
    z-index: 1;
  }
}

@media screen and (min-width: 990px) {
  .header__heading-link:has(.header__strap) {
    margin-top: -9px;
  }

  .header--middle-left .header__heading-link,
  .header--top-left .header__heading-link {
    margin-inline-start: -0.75rem;
  }
  .header.drawer-menu .header__heading-link {
    margin-inline-start: calc(-0.75rem - var(--header-gap));
  }

  .header__heading-link {
    justify-self: start;
    margin-top: 1px;
  }

  .header--middle-center .header__heading-link {
    justify-self: center;
    text-align: center;
  }

  .header--top-center .header__heading-link {
    justify-self: center;
    text-align: center;
  }
}

.header__strap {
  margin: 0.6rem 0 0 0;
}

.header__heading-link:has(img) .header__strap {
  margin-top: 1.2rem;
}

/* HEADER ICONS */
.header__icons {
  display: flex;
  grid-area: icons;
  justify-self: end;
  align-items: center;
}

.header__icons .shopify-app-block {
  max-width: 4.4rem;
  max-height: 4.4rem;
  overflow: hidden;
}

.header__icon:not(.header__icon--summary),
.header__icon span {
  display: flex;
  align-items: center;
  justify-content: center;
}

.header__cta {
  margin-inline-end: calc(var(--header-gap) * 0.75);
}

.header__icon {
  color: rgb(var(--color-foreground));
  border-radius: var(--panel-corner-radius);
}

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

@media (hover: hover) and (pointer: fine) {
  .header__icon:hover,
  a.header__cta:hover {
    --color-icon: var(--color-link);
  }

  .header__menu-item:hover,
  .header__icon:hover,
  a.header__cta:hover p {
    color: rgb(var(--color-link)) !important;
  }
}

.header__icon span {
  height: 100%;
}

.header__icon::after {
  content: none;
}

.header__icon:hover .icon,
.modal__close-button:hover .icon {
  opacity: 1;
}

.header__icon .icon {
  height: 2.6rem;
  width: 2.6rem;
  /*fill: none;*/
  vertical-align: middle;
}

.header__icon--menu .icon-hamburger,
.header__icon--menu .icon-close {
  height: 3.2rem;
  width: 3.2rem;
  margin-top: 0.1rem;
}

.header__icon {
  height: 4.4rem;
  width: 4.4rem;
  padding: 0;
}

.header__icon .stroke-width-standard {
  stroke-width: 30px;
}

.header__icon--menu::before {
  content: '';
  top: 100%;
  inset-inline-start: 0;
  height: calc(var(--viewport-height, 100vh) - (var(--header-bottom-position, 100%)));
  width: 100%;
  display: block;
  position: absolute;
  background-color: rgba(0,0,0,.5);
  visibility: hidden;
  opacity: 0;
  backdrop-filter: blur(2px);
  transition: opacity var(--duration-medium), visibility var(--duration-medium);
}

.header__icon--menu[aria-expanded='true']::before {
  visibility: visible;
  opacity: 1;
}

.header__icon--cart {
  position: relative;
  margin-inline-end: -0.6rem;
}

@media screen and (min-width: 990px) {
  .header__icon--cart {
    margin-inline-end: -1.2rem;
  }

  .header__icons {
    padding-inline-end: 0.8rem;
  }

  .search-modal__form .search__input {
    font-size: 1.5rem;
  }

  .header .localization-form__select,
  .header__icon,
  .header__cta,
  .header__search-bar .search__input {
    height: var(--header-elements-height) !important;
  }

  .header__icon {
    width: var(--header-elements-height);
  }

  .header__search-bar .search__button {
    width: calc(var(--header-elements-height) - 1rem);
  }
}

/* SEARCH */
menu-drawer + .header__search {
  display: none;
}

.header > .header__search {
  grid-area: left-icons;
  justify-self: start;
}

.header--top-center.drawer-menu > .header__search {
  margin-inline-start: 3.2rem;
}

.header--top-center header-drawer {
  grid-area: left-icons;
}

.header__search {
  display: inline-flex;
  line-height: 0;
}

.header--top-center > .header__search {
  display: none;
}

.header--top-center * > .header__search {
  display: inline-flex;
}

@media screen and (min-width: 990px) {
  .header:not(.header--top-center) * > .header__search,
  .header--top-center > .header__search {
    display: inline-flex;
  }

  .header:not(.header--top-center) > .header__search,
  .header--top-center * > .header__search {
    display: none;
  }
}

.no-js .predictive-search {
  display: none;
}
.search-modal__form {
  --inputs-border-width: 0px;
  --control-inset: calc(.5rem + var(--inputs-border-width));
  --control-border-radius: max(0px, calc(var(--inputs-radius) - 2px));
  container-type: inline-size;
  width: 100%;
  position: relative;
  display: block;
  z-index: 1;
}

.search-modal__form .nice-select-dropdown {
  --inputs-border-width: 1px;
  --inputs-border-opacity: 0.2;
}

.search-modal__form--dark-text {
  --color-foreground: 30, 30, 30;
  color: rgb(var(--color-foreground));
}

.search-modal__form .select .current {
  white-space: nowrap;
  text-overflow: ellipsis;
}

.search-modal__form select,
.search-modal__form .select .current,
.search-modal__form .select .option {
  font-size: 1.4rem;
}

.search-modal__form .select {
  flex: 1 1 100px;
  max-width: 200px;
  position: relative;
  margin: var(--inputs-border-width);
  padding: var(--control-inset);
  transition: max-width 0.3s;
}

@media screen and (min-width: 990px) {
  .search-modal .predictive-search--suggestions-desktop ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
  }

  .search-modal .predictive-search--suggestions-desktop .predictive-search__item {
    border: 0.1rem solid rgba(var(--color-foreground), 0.08);
  }

  .search-modal .predictive-search--suggestions-desktop .predictive-search__subheading {
    display: none;
  }

  .search-modal .predictive-search--suggestions-desktop > .pb-2 {
    padding-bottom: 0;
  }
}

@media screen and (min-width: 1200px) {
  .search-modal__form .select {
    flex: 1 1 170px;
    max-width: 250px;
  }
}

.search-modal__form .select .icon-caret {
  height: 1.3rem;
  top: calc(50% - .6rem);
}

.search-modal__form .select + .search__input {
  padding-inline-start: 0.5rem;
}

.search-modal__form .nice-select-dropdown {
  border-color: rgba(var(--color-shadow),var(--popup-shadow-opacity));
  margin-top: 1rem;
}

.search-modal__form .select__select {
  border-radius: var(--control-border-radius);
  line-height: 2.1rem;
  color: rgb(var(--color-foreground));
  background-color: rgba(var(--color-foreground), 0.07);
  border: 1px solid rgba(var(--color-foreground), 0.03);
  height: 100%;
  margin: 0;
  padding: 0 calc(var(--inputs-border-width) + 3rem) 0 1.5rem;
}

.search-modal__form .select::after {
  display: none;
}

.search-modal__form .field.field--matching-color-scheme::after {
  border: 1px solid rgba(var(--color-foreground), 0.1);
  box-shadow: var(--popup-shadow-horizontal-offset) var(--popup-shadow-vertical-offset) calc(var(--popup-shadow-blur-radius) / 2) rgba(var(--color-shadow),var(--popup-shadow-opacity)) !important;
}

.search-modal__close-button {
  position: absolute;
  inset-inline-end: 0.3rem;
}

@container (max-width: 549.98px) {
  .search-modal__form .select {
    flex: 1 1 140px;
  }
}

@media screen and (max-width: 989.98px) {
  .search-modal__content .field::after {
    border: 1px solid rgba(var(--color-foreground), 0.1);
    box-shadow: var(--popup-shadow-horizontal-offset) var(--popup-shadow-vertical-offset) calc(var(--popup-shadow-blur-radius) / 2) rgba(var(--color-shadow),var(--popup-shadow-opacity)) !important;
  }
}

@media screen and (min-width: 750px) {
  .search-modal__close-button {
    inset-inline-end: 1rem;
  }

  .search-modal__content {
    padding: 0 6rem;
  }
}

@media screen and (min-width: 990px) {
  .search-modal__form .field.field--diff-color-scheme::after {
    border: 0;
    box-shadow: none !important;
  }

  .search-modal__form {
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
  }

  .header__search .search-modal__form {
    max-width: 74.2rem;
  }

  .search-modal__close-button {
    position: initial;
    margin-inline-start: 0.5rem;
  }

  .search-modal__form {
    width: 98%;
    transition: width .3s var(--cubic-bezier-wipe), max-width .3s var(--cubic-bezier-wipe);
  }

  .search-modal__form--small,
  .search-modal__form--expand {
    max-width: 340px;
  }

  .search-modal__form--expand:focus-within {
    width: 98%;
    max-width: 98%;
  }

  .search-suggestions .predictive-search__item {
    font-size: 1.5rem;
  }

  .search-modal__form--small .select,
  .search-modal__form--expand:not(:focus-within) .select {
    max-width: 100px;
  }
}

/* HEADER MENU */
header-menu.open::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(var(--link-end) - 15px);
  inset-inline-start: 0;
  inset-inline-end: 0;
  bottom: -1px;
  z-index: var(--header-zindex, 1);
}

.header__inline-menu {
  margin-inline-start: -1.2rem;
  grid-area: navigation;
  display: none;
}

.header--top-left + .header__inline-menu .header__submenu.global-settings-popup {
  border-start-start-radius: 0;
  border-start-end-radius: 0;
  box-shadow: var(--popup-shadow-horizontal-offset) 6px var(--popup-shadow-blur-radius)
  rgba(var(--color-shadow), var(--popup-shadow-opacity));
}

.header--top-center .header__inline-menu,
.header--top-center .header__heading-link {
  margin-inline-start: 0;
}

@media screen and (min-width: 990px) {
  .header__inline-menu {
    display: block;
  }

  .header__inline-menu--hide-on-scroll {
    max-height: 25vh;
    transition: opacity .3s, visibility .3s,  max-height .3s;
  }

  .scrolling-down .header:not(.drawer-menu--on-scroll--paused) + .header__inline-menu--hide-on-scroll {
    opacity: 0;
    visibility: hidden;
    max-height: 0;
  }

  .header--top-center .header__inline-menu {
    justify-self: center;
  }

  .header--top-center .header__inline-menu > .list-menu--inline {
    justify-content: center;
  }

  .header--middle-left .header__inline-menu {
    margin-inline-start: 0;
  }
}

.header__menu {
  padding: 0 1rem;
}

.header__menu-item {
  padding: 1.2rem;
  text-decoration: none;
  color: rgb(var(--color-foreground));
  position: relative;
}

.header__summary-link {
  color: inherit;
  text-decoration: none;
  pointer-events: none;
}

.header__menu-item .icon-caret {
  inset-inline-end: 0.8rem;
  top: calc(50% - .45em);
}

@media (hover: hover) and (pointer: fine) {
  .header__summary-link {
    pointer-events: auto;
  }
}

/* HEADER MENU DRAWER */
.header__icon--menu .icon {
  display: block;
  position: absolute;
  opacity: 0.8;
  transition: opacity 150ms ease;
}

/* MEDIA */
.gradient {
  background: rgb(var(--color-background));
  background: var(--gradient-background);
}

.icon {
  flex-shrink: 0;
}

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

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

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

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

@media screen and (min-width: 750px) {
  .ratio::before {
    padding-bottom: var(--ratio-percent);
  }

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

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

.content-container {
  border-radius: var(--text-boxes-radius);
  border: var(--text-boxes-border-width) solid rgba(var(--color-foreground), var(--text-boxes-border-opacity));
  position: relative;
}

.content-container:after {
  content: '';
  position: absolute;
  top: calc(var(--text-boxes-border-width) * -1);
  inset-inline-end: calc(var(--text-boxes-border-width) * -1);
  bottom: calc(var(--text-boxes-border-width) * -1);
  inset-inline-start: calc(var(--text-boxes-border-width) * -1);
  border-radius: var(--text-boxes-radius);
  box-shadow: var(--text-boxes-shadow-horizontal-offset) var(--text-boxes-shadow-vertical-offset)
    var(--text-boxes-shadow-blur-radius) rgba(var(--color-shadow), var(--text-boxes-shadow-opacity));
  z-index: -1;
}

.content-container--full-width:after {
  inset-inline-start: 0;
  inset-inline-end: 0;
  border-radius: 0;
}

@media screen and (max-width: 749.98px) {
  .banner--mobile-box:not(.banner--mobile-bottom) .banner__content,
  slideshow-component .banner--mobile-box {
    padding: var(--px-mobile);
  }

  .banner--mobile-bottom .content-container--full-width-mobile {
    border-inline-start: none;
    border-inline-end: none;
    border-radius: 0;
  }
  .banner--mobile-bottom .content-container--full-width-mobile:after {
    display: none;
  }
}

.global-media-settings {
  position: relative;
  border: var(--media-border-width) solid rgba(var(--color-foreground), var(--media-border-opacity));
  border-radius: var(--media-radius);
  overflow: visible !important;
  background-color: rgb(var(--color-background));
}

.global-media-settings:after {
  content: '';
  position: absolute;
  top: calc(var(--media-border-width) * -1);
  inset-inline-end: calc(var(--media-border-width) * -1);
  bottom: calc(var(--media-border-width) * -1);
  inset-inline-start: calc(var(--media-border-width) * -1);
  border-radius: var(--media-radius);
  box-shadow: var(--media-shadow-horizontal-offset) var(--media-shadow-vertical-offset) var(--media-shadow-blur-radius)
    rgba(var(--color-shadow), var(--media-shadow-opacity));
  z-index: -1;
  pointer-events: none;
}

.global-media-settings--no-shadow {
  overflow: hidden !important;
}

.global-media-settings--no-shadow:after {
  content: none;
}

.global-media-settings img,
.global-media-settings iframe,
.global-media-settings model-viewer,
.global-media-settings video,
.global-media-settings .placeholder-svg {
  border-radius: calc(var(--media-radius) - var(--media-border-width));
}

.content-container--full-width,
.global-media-settings--full-width,
.global-media-settings--full-width img,
.global-media-settings--full-width video,
.global-media-settings--full-width iframe,
.global-media-settings--full-width .placeholder-svg {
  border-radius: 0;
  border-inline-start: none;
  border-inline-end: none;
}

/* BORDER RADIUS UTILITY */
.border-radius-product-card {
  border-radius: var(--product-card-corner-radius);
  transform: translateZ(0); /*Safari fix*/
}

.border-radius-collection-card {
  border-radius: var(--collection-card-corner-radius);
  transform: translateZ(0); /*Safari fix*/
}

.border-radius-blog-card {
  border-radius: var(--blog-card-corner-radius);
  transform: translateZ(0); /*Safari fix*/
}

.border-radius-input {
  border-radius: var(--inputs-radius);
}

.border-radius-panel {
  border-radius: var(--panel-corner-radius);
}

.border-radius-media {
  border-radius: calc(var(--media-radius) - var(--media-border-width));
  transform: translateZ(0); /*Safari fix*/
}

.border-radius-text-box {
  border-radius: calc(var(--text-boxes-radius) - var(--text-boxes-border-width));
  transform: translateZ(0); /*Safari fix*/
}

.border-radius-circle {
  border-radius: 50%;
}

@media screen and (min-width: 750px) {
  .md\:border-radius-media {
    border-radius: calc(var(--media-radius) - var(--media-border-width));
    transform: translateZ(0); /*Safari fix*/
  }

  .md\:border-radius-text-box {
    border-radius: calc(var(--text-boxes-radius) - var(--text-boxes-border-width));
    transform: translateZ(0); /*Safari fix*/
  }

  .skew .banner__media {
    width: 60%;
  }

  .skew .banner__media:first-child {
    transform: skew(-10deg);
    inset-inline-start: -10%;
    z-index: 1;
    border-inline-end: 8px solid rgb(var(--color-background));
    height: calc(100% + 1px);
  }

  .skew .banner__media:first-child img {
    transform: perspective(0) skew(10deg) scale(1.25) !important;
  }
}

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

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

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

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

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

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

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

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

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


/* outline and border styling for Windows High Contrast Mode */
@media (forced-colors: active) {
  .button,
  .shopify-challenge__button,
  .customer button {
    border: transparent solid 1px;
  }

  .button:focus-visible,
  .button:focus,
  .button.focused,
  .shopify-payment-button__button--unbranded:focus-visible,
  .shopify-payment-button [role='button']:focus-visible,
  .shopify-payment-button__button--unbranded:focus,
  .shopify-payment-button [role='button']:focus {
    outline: solid transparent 1px;
  }

  .field__input:focus,
  .select__select:focus,
  .customer .field input:focus,
  .customer select:focus,
  .localization-form__select:focus.localization-form__select:after {
    outline: transparent solid 1px;
  }

  .localization-form__select:focus {
    outline: transparent solid 1px;
  }
}

/* RTE BITS */
.rte:after {
  clear: both;
  content: '';
  display: block;
}

.rte > p:first-of-type,
.rte > *:first-child,
.rte .metafield-rich_text_field > *:first-child {
  margin-top: 0;
}

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

.rte table {
  overflow-wrap: break-word;
  table-layout: fixed;
  word-break: normal;
}

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

.rte img {
  height: auto;
  max-width: 100%;
  border: var(--media-border-width) solid rgba(var(--color-foreground), var(--media-border-opacity));
  border-radius: var(--media-radius);
  box-shadow: var(--media-shadow-horizontal-offset) var(--media-shadow-vertical-offset) var(--media-shadow-blur-radius)
    rgba(var(--color-shadow), var(--media-shadow-opacity));
  margin-top: 1rem;
  margin-bottom: 1rem;
}

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

.rte ul {
  list-style: none;
}

.rte ul,
.rte ol {
  text-align: start;
  margin: 0 0 1em;
  padding: 0;
  padding-inline-start: 2rem;
}

.rte ul li:not(:last-child),
.rte ol li:not(:last-child) {
  margin-bottom: 0.6em;
}

.rte ul li::before {
  content: "";
  vertical-align: middle;
  background-color: currentColor;
  display: inline-block;
  margin: -2px 0.75em 0;
  margin-inline-start: -1.25em;
  width: 0.4em;
  height: 0.4em;
  border-radius: 50%;
}

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

.rte li {
  list-style: inherit;
}

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

.rte a {
  color: rgba(var(--color-link), var(--alpha-link));
}

.rte blockquote {
  text-align: start;
}

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

.responsive-table {
  overflow: auto;
}

@media screen and (max-width: 749.98px) {
  .rte .responsive-table {
    display: flex;
    -webkit-overflow-scrolling: touch;
    padding: 1px;
    max-width: calc(100vw - (var(--px-mobile)* 2) - (var(--info-padding-x, 0px) * 2));
  }

  .quick-add-modal .rte .responsive-table {
    max-width: calc(100vw - (var(--px-mobile)* 2) - (var(--info-padding-x, 0px) * 2) - 5px);
  }

  .rte .responsive-table > table {
    flex-shrink: 0;
    min-width: 100%;
    width: auto;
  }
}

.section-title.italics-light em {
  font-style: normal;
  color: rgba(var(--color-heading), 0.65);
  background-image: none;
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: currentColor;
}

.italics-convert em {
  font-style: normal;
}

.italics-light em {
  color: rgba(var(--color-foreground), 0.65);
}

.italics-accent em {
  background-color: rgb(var(--color-heading));
  background-image: var(--color-accent-gradient-background, none);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.italics-accent_color em {
  color: rgba(var(--color-accent), 1);
}

.italics-glow em,
.italics-glow_outline em {
  text-shadow:
    0 0 1px rgb(var(--color-foreground)),
    0 0 38px rgba(var(--color-accent),1),
    0 0 82px rgba(var(--color-accent),.5),
    0 0 82px rgba(var(--color-accent),.5),
    0 0 92px rgba(var(--color-accent),.3),
    0 0 121px rgba(var(--color-accent),.2);
}

.italics-outline em,
.italics-outline_accent em {
  -webkit-text-stroke: 0.03em currentColor;
  -webkit-text-fill-color: transparent;
}

.italics-outline_accent em,
.italics-glow_outline em {
  -webkit-text-stroke: 0.03em rgb(var(--color-accent));
}

.italics-convert a:not(:hover) {
  text-decoration: none;
}

/* OVERLAYS */
.image-overlay {
  position: relative;
}

.image-overlay::after {
  content: '';
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  background: var(--color-overlay);
  opacity: var(--overlay-opacity, 0);
  pointer-events: none;
  width: 100%;
  height: 100%;
  z-index: 1;
  border-radius: 0;
}

@media screen and (max-width: 749.98px) {
  .xs\:bottom-border-radius-0 {
    border-end-end-radius: 0;
    border-end-start-radius: 0;
  }

  .xs\:image-overlay {
    position: relative;
  }

  .xs\:image-overlay::after {
    content: '';
    position: absolute;
    top: 0;
    inset-inline-start: 0;
    background: var(--color-overlay);
    opacity: var(--overlay-opacity, 0);
    pointer-events: none;
    width: 100%;
    height: 100%;
    z-index: 1;
    border-radius: 0;
  }

  .xs\:w-full {
    width: 100%;
  }
}

@media screen and (min-width: 750px) {
  .md\:image-overlay {
    position: relative;
  }

  .md\:image-overlay::after {
    content: '';
    position: absolute;
    top: 0;
    inset-inline-start: 0;
    background: var(--color-overlay);
    opacity: var(--overlay-opacity, 0);
    pointer-events: none;
    width: 100%;
    height: 100%;
    z-index: 1;
    border-radius: 0;
  }
}

/* ANIMATIONS */
.animate--fixed {
  clip-path: inset(0);
}

.animate--fixed > img:not(.zoom):not(.deferred-media__poster-button),
.animate--fixed > svg:not(.zoom):not(.deferred-media__poster-button) {
  position: fixed;
  height: 100vh;
}

@media (prefers-reduced-motion: no-preference) {
  .animate--pop {
    animation: pop 250ms ease-in-out;
  }

  .animate--zoom-in {
    transition: transform 1.3s;
  }

  .scroll-trigger--offscreen.animate--zoom-in {
    transform: scale(1.07);
  }

  .scroll-trigger.animate--fade-in,
  .scroll-trigger.animate--slide-in {
    opacity: 0.01;
  }

  .scroll-trigger.animate--slide-in {
    transform: translateY(0.5rem);
  }

  .scroll-trigger:not(.scroll-trigger--offscreen).animate--fade-in {
    opacity: 1;
    animation: var(--animation-fade-in);
    animation-duration: 1s;
  }

  .scroll-trigger:not(.scroll-trigger--offscreen).animate--slide-in {
    animation: var(--animation-slide-in);
    animation-delay: calc(var(--animation-order) * 75ms);
  }

  .scroll-trigger.scroll-trigger--design-mode.animate--fade-in,
  .scroll-trigger.scroll-trigger--design-mode.animate--slide-in,
  .scroll-trigger.scroll-trigger--design-mode .slider,
  .scroll-trigger:not(.scroll-trigger--offscreen).scroll-trigger--cancel {
    opacity: 1;
    animation: none;
    transition: none;
  }

  .scroll-trigger.scroll-trigger--design-mode.animate--slide-in {
    transform: translateY(0);
  }

  @keyframes pop {
    0% {
      transform: scale(0.75);
    }
    50% {
      transform: scale(1.25);
    }
    100% {
      transform: scale(1);
    }
  }

  @keyframes slideIn {
    from {
      transform: translateY(0.5rem);
      opacity: 0.01;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }

  @keyframes fadeIn {
    from {
      opacity: 0.01;
    }
    to {
      opacity: 1;
    }
  }
}

/* ELEMENT HOVERS */
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .button--hover-lift quick-add-bulk .quantity,
  .button--hover-lift .button:not(.button--tertiary),
  .button--hover-lift .shopify-challenge__button,
  .button--hover-lift .customer button,
  .button--hover-lift .shopify-payment-button__button,
  .button--hover-lift .deferred-media .deferred-media__poster-button {
    transition: transform var(--duration-medium) ease, box-shadow var(--duration-medium) ease;
    transform-origin: center;
  }

  .button--hover-lift quick-add-bulk .quantity:hover,
  .button--hover-lift .button:not(.button--tertiary):not([disabled]):hover,
  .button--hover-lift .shopify-challenge__button:not([disabled]):hover,
  .button--hover-lift .customer button:not([disabled]):hover,
  .button--hover-lift .shopify-payment-button__button:hover,
  .button--hover-lift .deferred-media:hover .deferred-media__poster-button {
    transition: transform var(--duration-extended) ease, box-shadow var(--duration-medium) ease; /* Slow the card transition speed while hover is active. */
    box-shadow: -1rem -1rem 1rem -1rem rgba(0, 0, 0, 0.05), 1rem 1rem 1rem -1rem rgba(0, 0, 0, 0.05),
      0 0 0.5rem 0 rgba(255, 255, 255, 0), 0 2rem 3.5rem -2rem rgba(0, 0, 0, 0.5);
  }
}

/* RESPONSIVE UTILITIES */
.responsive-card-padding {
  --card-padding: max(2.5rem, calc(var(--responsive-card-padding) * 0.5));
}

@media screen and (max-width: 450px) {
  .section-height-responsive--mobile {
    min-height: var(--mobile-height);
  }
}

@media screen and (min-width: 449px) and (max-width: 749.98px) {
  .section-height-responsive--mobile {
    min-height: calc(var(--mobile-height) + 15vw);
  }
}

@media screen and (min-width: 750px) and (max-width: 989.98px) {
  .section-height-responsive--desktop {
    min-height: calc(var(--desktop-height) * 0.9);
  }
}

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

  .responsive-card-padding {
    --card-padding: var(--responsive-card-padding);
  }
}

.card-padding {
  padding: var(--card-padding);
}

.custom-scrollbar::-webkit-scrollbar {
  width: 3px;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
  background-color: rgba(var(--color-foreground), 0.7);
  border-radius: 100px;
}

.responsive-grid {
  display: grid;
  grid-template-columns: repeat(var(--grid-size, 3), 1fr);
}

/* TAILWIND */
@media screen and (max-width: 749.98px) {
  .xs\:m-0 {
    margin: 0;
  }

  .xs\:mb-1 {
    margin-bottom: 1rem;
  }

  .xs\:p-0 {
    padding: 0;
  }

  .xs\:p-mobile {
    padding: var(--px-mobile);
  }

  .xs\:pl-mobile {
    padding-inline-start: var(--px-mobile);
  }

  .xs\:pr-mobile {
    padding-inline-end: var(--px-mobile);
  }

  .xs\:pb-0 {
    padding-bottom: 0;
  }

  .xs\:pt-0 {
    padding-top: 0;
  }

  .xs\:pt-2 {
    padding-top: 2rem;
  }
}

.p-0 {
  padding: 0 !important;
}

.p-075 {
  padding: 0.75rem;
}

.p-1 {
  padding: 1rem;
}

.p-15 {
  padding: 1.5rem;
}

.p-2 {
  padding: 2rem;
}

.p-3 {
  padding: 3rem;
}

.p-4 {
  padding: 4rem;
}

.p-5 {
  padding: 5rem;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: 1rem;
}

.pt-15 {
  padding-top: 1.5rem;
}

.pt-2 {
  padding-top: 2rem;
}

.pt-3 {
  padding-top: 3rem;
}

.pt-4 {
  padding-top: 4rem;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-05 {
  padding-bottom: 0.5rem;
}

.pb-1 {
  padding-bottom: 1rem;
}

.pb-15 {
  padding-bottom: 1.5rem;
}

.pb-2 {
  padding-bottom: 2rem;
}

.pb-3 {
  padding-bottom: 3rem;
}

.pb-4 {
  padding-bottom: 4rem;
}

.pt-s05 {
  padding-top: calc(var(--spacing-section) * 0.5) !important;
}

.pb-s05 {
  padding-bottom: calc(var(--spacing-section) * 0.5) !important;
}

.pt-s075 {
  padding-top: calc(var(--spacing-section) * 0.75) !important;
}

.pb-s075 {
  padding-bottom: calc(var(--spacing-section) * 0.75) !important;
}

.pt-s {
  padding-top: var(--spacing-section) !important;
}

.pb-s {
  padding-bottom: var(--spacing-section) !important;
}

.pt-s15 {
  padding-top: calc(var(--spacing-section) * 1.5) !important;
}

.pb-s15 {
  padding-bottom: calc(var(--spacing-section) * 1.5) !important;
}

.pt-s2 {
  padding-top: calc(var(--spacing-section) * 2) !important;
}

.pb-s2 {
  padding-bottom: calc(var(--spacing-section) * 2) !important;
}

.pt-s3 {
  padding-top: calc(var(--spacing-section) * 3) !important;
}

.pb-s3 {
  padding-bottom: calc(var(--spacing-section) * 3) !important;
}

.pl-0 {
  padding-inline-start: 0;
}

.pl-05 {
  padding-inline-start: 0.5rem;
}

.pl-1 {
  padding-inline-start: 1rem;
}

.pl-15 {
  padding-inline-start: 1.5rem;
}

.pl-2 {
  padding-inline-start: 2rem;
}

.pl-3 {
  padding-inline-start: 3rem;
}

.pr-1 {
  padding-inline-end: 1rem;
}

.pr-15 {
  padding-inline-end: 1.5rem;
}

.pr-2 {
  padding-inline-end: 2rem;
}

.pr-3 {
  padding-inline-end: 3rem;
}

.pr-0 {
  padding-inline-end: 0;
}

.m-0 {
  margin: 0 !important;
}

.ml-0 {
  margin-inline-start: 0 !important;
}

.ml-05 {
  margin-inline-start: 0.5rem;
}

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

.mr-auto {
  margin-inline-end: auto;
}

.mr-0 {
  margin-inline-end: 0 !important;
}

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

.mt-025 {
  margin-top: 0.25rem;
}

.mt-05 {
  margin-top: 0.5rem;
}

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

.mt--1px {
  margin-top: -1px;
}

.mt-1px {
  margin-top: 1px;
}

.mt-2px {
  margin-top: 2px;
}

.mt--1 {
  margin-top: -1rem !important;
}

.mt-15 {
  margin-top: 1.5rem;
}

.mt--15 {
  margin-top: -1.5rem !important;
}

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

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

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

.mb--1 {
  margin-top: -1rem !important;
}

.mb--15 {
  margin-top: -1.5rem !important;
}

.last\:mb-0:last-child,
.mb-0 {
  margin-bottom: 0 !important;
}

.mb-015 {
  margin-bottom: 0.15rem;
}

.mb-025 {
  margin-bottom: 0.25rem;
}

.mb-05 {
  margin-bottom: 0.5rem;
}

.mb-05em {
  margin-bottom: 0.5em;
}

.mb-1 {
  margin-bottom: 1rem !important;
}

.mb-15 {
  margin-bottom: 1.5rem;
}

.mb-2 {
  margin-bottom: 2rem !important;
}

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

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

.last-child\:mb-0:last-child {
  margin-bottom: 0 !important;
}

.last-child\:mb-2:last-child {
  margin-bottom: 2rem !important;
}

.last-child-inner\:mb-0 > *:last-child {
  margin-bottom: 0 !important;
}

.last-child-inner\:mt-0 > *:last-child {
  margin-top: 0 !important;
}

.my-section {
  margin-top: var(--spacing-section);
  margin-bottom: var(--spacing-section);
}

.mb-section {
  margin-bottom: var(--spacing-section);
}

.border-0 {
  border: 0 !important;
}

.border,
.product-card.border {
  border: 0.1rem solid rgba(var(--color-foreground), 0.08);
}

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

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

.rounded-none {
  border-radius: 0 !important;
}

.bg-scroll {
  background-attachment: scroll !important;
}

/* TW - Flex */
.flex {
  display: flex;
}

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

.basis-1\/2 {
  flex-basis: 50%;
}

.grow {
  flex-grow: 1;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* TW - Text */
.text-left {
  text-align: start;
}

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

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

.text-balance {
  text-wrap: balance;
}

.responsive-gap {
  gap: max(calc(var(--responsive-gap) * 0.5), 1rem);
}

@media screen and (max-width: 749.98px) {
  .md\:responsive-gap {
    --responsive-gap-xs: clamp(0.7rem, calc(var(--responsive-gap) * 0.5), 3rem);
    --responsive-padding-xs: clamp(0.2rem, calc(var(--responsive-gap) * 0.2), 1.8rem);
    gap: 0.7rem;
    gap: var(--responsive-gap-xs);
    padding-top: var(--responsive-padding-xs) !important;
    padding-bottom: var(--responsive-padding-xs) !important;
  }
}

@media screen and (min-width: 750px) {
  .responsive-gap, .md\:responsive-gap {
    gap: var(--responsive-gap);
  }

  .responsive-offset-x {
    position: relative;
    inset-inline-start: var(--responsive-offset-x, 0px);
  }

  .responsive-offset-y {
    position: relative;
    top: var(--responsive-offset-y, 0px);
  }

  .md\:bg-fixed {
    background-attachment: fixed !important;
  }

  .md\:flex {
    display: flex;
  }

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

  .md\:pt-0 {
    padding-top: 0 !important;
  }

  .md\:pb-0 {
    padding-bottom: 0 !important;
  }

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

  .md\:mb-0 {
    margin-bottom: 0 !important;
  }

  .md\:p-1 {
    padding: 1rem;
  }

  .md\:p-15 {
    padding: 1.5rem;
  }

  .md\:p-2 {
    padding: 2rem;
  }

  .md\:p-3 {
    padding: 3rem;
  }

  .md\:p-4 {
    padding: 4rem;
  }

  .md\:p-5 {
    padding: 5rem;
  }

  .md\:pl-0 {
    padding-inline-start: 0;
  }

  .md\:pr-0 {
    padding-inline-end: 0;
  }

  .md\:pb-1 {
    padding-bottom: 1rem !important;
  }

  .md\:pt-1 {
    padding-top: 1rem !important;
  }

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

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

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

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

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

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

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

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

  .md\:self-end,
  .md\:self-right {
    align-self: flex-end;
  }

  .md\:self-start,
  .md\:self-left {
    align-self: flex-start;
  }

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

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

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

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

  .md\:pl-0 {
    padding-inline-start: 0;
  }

  .md\:pr-0 {
    padding-inline-end: 0;
  }
}

@media screen and (max-width: 989.98px) {
  .md-down\:border-top {
    border-top: 0.1rem solid rgba(var(--color-foreground), 0.08);
  }

  .md-down\:border-bottom {
    border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
  }
}

@media screen and (min-width: 990px) {
  .lg\:pt-s05 {
    padding-top: calc(var(--spacing-section) * 0.5) !important;
  }

  .lg\:flex {
    display: flex;
  }

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

  .lg\:p-0 {
    padding: 0 !important;
  }

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

.gap-025 {
  gap: 0.25rem;
}

.gap-05 {
  gap: 0.5rem;
}

.gap-075 {
  gap: 0.75rem;
}

.gap-1 {
  gap: 1rem;
}

.gap-15 {
  gap: 1.5rem;
}

.gap-2 {
  gap: 2rem;
}

.gap-3 {
  gap: 3rem;
}

.gap-x-2 {
  column-gap: 2rem;
}

.gap-y-1,
.row-gap-1 {
  row-gap: 1rem;
}

.img-cover {
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.w-full {
  width: 100%;
}

.w-1\/2 {
  width: 50%;
}

.h-full {
  height: 100%;
}

.h-auto {
  height: auto !important;
}

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

.min-h-0 {
  min-height: 0;
}

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

@media screen and (max-width: 749.98px) {
  .xs\:h-auto {
    height: auto;
  }

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

  .section:has(.xs\:stick-to-header) {
    position: -webkit-sticky;
    position: sticky;
    top: calc(var(--header-height-live, 0px) - 1px);
    z-index: 3;
  }
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.fixed {
  position: fixed;
}

.static {
  position: static !important;
}

.sticky {
  position: -webkit-sticky;
  position: sticky;
}

.top-header-and-section {
  top: calc(var(--header-height, 0px) + var(--spacing-section));
}

.top-header {
  top: var(--header-height, 0px);
}

.top-0 {
  top: 0;
}

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

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

.block {
  display: block;
}

.inline {
  display: inline;
}

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

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

.inset {
  inset: 0;
}

.color-inherit a {
  color: inherit;
}

.color-inherit a:hover {
  color: inherit;
}

.text-current {
  color: currentColor;
}

/* TW - Typography */
.lh-1 {
  line-height: 1em;
}

.lh-13 {
  line-height: 1.3em;
}

.lh-15 {
  line-height: 1.5em;
}

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

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

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

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

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

.t0 { font-size: 1.85rem; --c-font-size: 1.85rem; }
.t1 { font-size: 1.7rem; --c-font-size: 1.7rem; }
.t2 { font-size: 1.6rem; --c-font-size: 1.6rem; }
.t3 { font-size: 1.5rem; --c-font-size: 1.5rem; }
.t4 { font-size: 1.4rem; --c-font-size: 1.4rem; }
.t5 { font-size: 1.3rem; --c-font-size: 1.3rem; }
.t6 { font-size: 1.2rem; --c-font-size: 1.2rem; }
.t7 { font-size: 1.15rem; --c-font-size: 1.15rem; }
.t8 { font-size: 1.1rem; --c-font-size: 1.1rem; }

@media only screen and (min-width: 750px) {
  .t0 { font-size: 2rem; --c-font-size: 2rem; }
  .t1 { font-size: 1.825rem; --c-font-size: 1.825rem; }
  .t2 { font-size: 1.65rem; --c-font-size: 1.65rem; }
  .t3 { font-size: 1.55rem; --c-font-size: 1.55rem; }
  .t4 { font-size: 1.45rem; --c-font-size: 1.45rem; }
  .t5 { font-size: 1.35rem; --c-font-size: 1.35rem; }
  .t6 { font-size: 1.25rem; --c-font-size: 1.25rem; }
}

@media only screen and (min-width: 1100px) {
  .t0 { font-size: 2.2rem; --c-font-size: 2.2rem; }
  .t1 { font-size: 1.9rem; --c-font-size: 1.9rem; }
  .t2 { font-size: 1.7rem; --c-font-size: 1.7rem; }
  .t3 { font-size: 1.6rem; --c-font-size: 1.6rem; }
  .t4 { font-size: 1.5rem; --c-font-size: 1.5rem; }
  .t5 { font-size: 1.4rem; --c-font-size: 1.4rem; }
  .t6 { font-size: 1.3rem; --c-font-size: 1.3rem; }
}

.t-scale-075 {
  font-size: max(calc(var(--c-font-size) * 0.75), 1.2rem);
}

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

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

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

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

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

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

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

.decoration-none {
  text-decoration: none;
}

.transform-none {
  transform: none;
}

.mix-blend-multiply,
.mix-blend-multiply img {
  mix-blend-mode: multiply;
}

/* SHADOWS */
.card--shadow {
  box-shadow: 0 0 1px 1px rgba(0, 15, 30, 0.01), 0 6px 8px 0 rgba(0, 15, 30, 0.03), 0 2px 4px 0 rgba(0, 15, 30, 0.01);
}

.shadow-standard {
  box-shadow: 0 0 6px 1px rgba(var(--color-foreground), 0.1);
}

@media screen and (min-width: 990px) {
  .card--shadow {
    box-shadow: 0 0 1px 1px rgba(0, 15, 30, 0.01), 0 2px 7px 0 rgba(0, 15, 30, 0.03), 0 1px 3px 0 rgba(0, 15, 30, 0.01);
  }
}


/* RESPONSIVE UTILITY BITS */
.responsive-margin-bottom {
  margin-bottom: max(calc(var(--responsive-margin-bottom) * 0.6), 1rem);
}

.responsive-padding-y {
  padding-top: calc(var(--responsive-padding-y) * 0.75) !important;
  padding-bottom: calc(var(--responsive-padding-y) * 0.75) !important;
}

.responsive-padding-x {
  padding-inline-start: max(calc(var(--responsive-padding-x) * 0.5), 3.5rem);
  padding-inline-end: max(calc(var(--responsive-padding-x) * 0.5), 3.5rem);
}

.responsive-padding-y-extreme {
  padding-top: calc(var(--responsive-padding-y) * 0.5) !important;
  padding-bottom: calc(var(--responsive-padding-y) * 0.5) !important;
}

.responsive-padding-x-extreme {
  padding-inline-start: max(calc(var(--responsive-padding-x) * 0.4), 3.5rem);
  padding-inline-end: max(calc(var(--responsive-padding-x) * 0.4), 3.5rem);
}

@media screen and (min-width: 750px) {
  .md\:card--shadow {
    box-shadow: 0 0 1px 1px rgba(0, 15, 30, 0.01), 0 2px 7px 0 rgba(0, 15, 30, 0.03), 0 1px 3px 0 rgba(0, 15, 30, 0.01);
  }

  .md\:sticky {
    position: -webkit-sticky;
    position: sticky;
  }

  .md\:absolute {
    position: absolute;
  }

  .md\:h-full {
    height: 100%;
  }

  .md\:responsive-padding-y-extreme {
    padding-top: calc(var(--responsive-padding-y) * 0.5) !important;
    padding-bottom: calc(var(--responsive-padding-y) * 0.5) !important;
  }

  .md\:responsive-padding-x-extreme {
    padding-inline-start: max(calc(var(--responsive-padding-x) * 0.4), 3.5rem);
    padding-inline-end: max(calc(var(--responsive-padding-x) * 0.4), 3.5rem);
  }

  .md\:responsive-padding-y {
    padding-top: calc(var(--responsive-padding-y) * 0.75);
    padding-bottom: calc(var(--responsive-padding-y) * 0.75);
  }

  .responsive-padding-x {
    padding-inline-start: max(calc(var(--responsive-padding-x) * 0.75), 3.5rem);
    padding-inline-end: max(calc(var(--responsive-padding-x) * 0.75), 3.5rem);
  }

  .responsive-margin-bottom {
    margin-bottom: max(calc(var(--responsive-margin-bottom) * 0.8), 4rem);
  }

  .max-w-xxs {
    max-width: 30rem;
  }

  .max-w-xs {
    max-width: 42rem;
  }

  .max-w-s {
    max-width: 54rem;
  }

  .max-w-m {
    max-width: 66rem;
  }

  .max-w-l {
    max-width: 84rem;
  }

  .max-w-l1 {
    max-width: 108rem;
  }

  .max-w-l2 {
    max-width: 138rem;
  }

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

  .md\:h-auto {
    height: auto;
  }

  .md\:min-h-browser-full {
    min-height: calc(100vh - var(--header-height-live, 0px));
  }

  .section:has(.md\:stick-to-header) {
    position: -webkit-sticky;
    position: sticky;
    top: calc(var(--header-height-live, 0px) - 1px);
    z-index: 3;
  }

  .md\:gap-2 {
    gap: 2rem;
  }

  .md\:gap-3 {
    gap: 3rem;
  }

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

@media screen and (min-width: 990px) {
  .responsive-padding-y {
    padding-top: var(--responsive-padding-y);
    padding-bottom: var(--responsive-padding-y);
  }

  .responsive-padding-x {
    padding-inline-start: var(--responsive-padding-x);
    padding-inline-end: var(--responsive-padding-x);
  }

  .responsive-margin-bottom {
    margin-bottom: var(--responsive-margin-bottom);
  }

  .md\:responsive-padding-y-extreme,
  .responsive-padding-y-extreme {
    padding-top: calc(var(--responsive-padding-y) * 0.7);
    padding-bottom: calc(var(--responsive-padding-y) * 0.7);
  }

  .md\:responsive-padding-x-extreme,
  .responsive-padding-x-extreme {
    padding-inline-start: calc(var(--responsive-padding-x) * 0.7);
    padding-inline-end: calc(var(--responsive-padding-x) * 0.7);
  }
}

@media screen and (min-width: 1440px) {
  .md\:responsive-padding-y-extreme,
  .responsive-padding-y-extreme {
    padding-top: var(--responsive-padding-y);
    padding-bottom: var(--responsive-padding-y);
  }

  .md\:responsive-padding-x-extreme,
  .responsive-padding-x-extreme {
    padding-inline-start: var(--responsive-padding-x);
    padding-inline-end: var(--responsive-padding-x);
  }
}

/* VIDEO */
.video-section__media {
  --ratio-percent: 56.25%;
  position: relative;
  padding-bottom: calc(var(--ratio-percent) - var(--media-border-width));
  transform: none !important;
}

.js .video-banner-section [data-content-timer] .section-content {
  transition: opacity var(--duration-xx-long), visibility var(--duration-xx-long);
  opacity: 0;
  visibility: hidden;
}

/* IMAGE BANNERS */
.banner {
  display: flex;
  position: relative;
  flex-direction: column;
}

/* Needed for gradient continuity with or without animation, the transform scopes the gradient to its container which happens already when animation are turned on */
.banner__box.gradient {
  transform: perspective(0);
}

@media screen and (min-width: 750px) {
  .banner {
    flex-direction: row;
  }
}

@media screen and (max-width: 749.98px) {
  .banner:not(.banner--stacked) {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .banner--stacked {
    height: auto;
  }

  .banner--stacked .banner__media {
    flex-direction: column;
  }

  .is-standard-color-scheme .banner--stacked .banner__media,
  .is-standard-color-scheme .banner--one-image .banner__media {
    border-radius: calc(var(--media-radius) - var(--media-border-width));
  }

  .is-standard-color-scheme .banner--stacked .banner__media-right-half  {
    margin-top: 3rem;
  }

  .is-standard-color-scheme .banner--two-images:not(.banner--stacked) .banner__media-left-half {
    border-start-start-radius: calc(var(--media-radius) - var(--media-border-width));
    border-end-start-radius: calc(var(--media-radius) - var(--media-border-width));
  }

  .is-standard-color-scheme .banner--two-images:not(.banner--stacked) .banner__media-right-half {
    border-start-end-radius: calc(var(--media-radius) - var(--media-border-width));
    border-end-end-radius: calc(var(--media-radius) - var(--media-border-width));
  }
}

.banner__media {
  height: 100%;
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  width: 100%;
}

.banner__media-half {
  width: 50%;
}

.banner__media-half + .banner__media-half {
  inset-inline-end: 0;
  inset-inline-start: auto;
  z-index: 0;
}

.banner__media-half.animate--fixed:first-child > img {
  width: 50%;
}

.banner__media-half.animate--fixed:nth-child(2) > img {
  inset-inline-start: 50%;
  width: 50%;
}

@media screen and (max-width: 749.98px) {
  .banner--stacked .animate--fixed:first-child > img {
    width: 100%;
  }

  .banner--stacked .banner__media-half.animate--fixed:nth-child(2) > img {
    inset-inline-start: 0;
    width: 100%;
  }

  .banner--stacked .banner__media-half {
    width: 100%;
  }

  .banner--stacked .banner__media-half + .banner__media-half {
    order: 1;
  }
}

@media screen and (min-width: 750px) {
  .banner__media {
    height: 100%;
  }
}

.banner--adapt,
.banner--adapt_image.banner--mobile-bottom .banner__media:not(.placeholder) {
  height: auto;
}

@media screen and (max-width: 749.98px) {
  .banner--mobile-bottom .banner__box {
    border: none;
    border-start-start-radius: 0;
    border-start-end-radius: 0;
    width: 100%;
    box-shadow: none;
  }

  .banner--mobile-bottom .banner__media,
  .banner--stacked:not(.banner--mobile-bottom) .banner__media {
    position: relative;
  }

  .banner--stacked.banner--adapt .banner__content {
    height: auto;
  }

  .banner:not(.banner--mobile-bottom) .button--secondary {
    --alpha-button-background: 0;
  }

  .banner--stacked:not(.banner--mobile-bottom):not(.banner--adapt) .banner__content {
    position: absolute;
    height: 100%;
  }

  .banner--stacked.banner--adapt:not(.banner--mobile-bottom) .banner__content {
    max-height: 100%;
    overflow: hidden;
    position: absolute;
  }

  .banner--stacked:not(.banner--adapt) .banner__media {
    position: relative;
  }

  .banner--stacked .banner__media-image-half {
    width: 100%;
  }
}

.banner__content {
  padding: 0;
  display: flex;
  position: relative;
  width: 100%;
  z-index: 2;
}

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

@media screen and (max-width: 749.98px) {
  .banner--mobile-bottom:not(.banner--stacked) .banner__content {
    order: 2;
  }

  .banner:not(.banner--mobile-bottom) .field__input,
  .banner--mobile-bottom:not(.banner--stacked) .banner__box.color-schemes--matching {
    background: transparent;
  }
}

@media screen and (max-width: 749.98px) {
  .banner--mobile-bottom::after,
  .banner--mobile-bottom .banner__media::after {
    display: none;
  }

  .section-image-hotspots .banner--mobile-bottom .banner__media::after {
    display: block;
  }

  .mobile-text-below.page-width .banner__box.color-schemes--matching {
    padding: 3rem 0 0 0;
  }

  .mobile-text-below:not(.page-width) .banner__box.color-schemes--matching {
    padding: 3rem var(--px-mobile) var(--spacing-section);
  }
}

@media screen and (max-width: 749.98px) {
  .banner--stacked .banner__box {
    width: 100%;
  }

  .banner:not(.slideshow) .rte a,
  .banner:not(.slideshow) .inline-richtext a:hover,
  .banner:not(.slideshow) .rte a:hover {
    color: currentColor;
  }
}

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

  .banner--desktop-transparent .field,
  .banner--desktop-transparent discount-code {
    --inputs-border-opacity: 1;
  }

  .banner--desktop-transparent .field__input,
  .banner--desktop-transparent .select__select,
  .banner--desktop-transparent .share-button__discount::before {
    background-color: transparent;
  }

  .banner--desktop-transparent .section-content {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .banner--desktop-transparent .banner__box {
    background: transparent;
    /*max-width: 89rem;*/
    border: none;
    border-radius: 0;
    box-shadow: none;
  }

  .banner--desktop-transparent .button--secondary {
    --alpha-button-background: 0;
  }

  .banner--desktop-transparent .content-container:after {
    display: none;
  }

  .banner--desktop-transparent .rte a,
  .banner--desktop-transparent .inline-richtext a:hover,
  .banner--desktop-transparent .rte a:hover {
    color: currentColor;
  }
}

@media screen and (max-width: 749.98px) {
  .banner--mobile-transparent .field {
    --inputs-border-opacity: 1;
  }

  .banner--mobile-transparent .field__input,
  .banner--mobile-transparent .select__select,
  .banner--mobile-transparent .share-button__discount::before {
    background-color: transparent;
  }

  .banner--mobile-transparent .section-content {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .banner--mobile-transparent .banner__box {
    background: transparent;
    /*max-width: 89rem;*/
    border: none;
    border-radius: 0;
    box-shadow: none;
  }

  .banner--mobile-transparent .button--secondary {
    --alpha-button-background: 0;
  }

  .banner--mobile-transparent .content-container:after {
    display: none;
  }

  .banner--mobile-transparent .rte a,
  .banner--mobile-transparent .inline-richtext a:hover,
  .banner--mobile-transparent .rte a:hover {
    color: currentColor;
  }
}

.banner--opaque-dropdowns .nice-select {
  background-color: rgb(var(--color-background));
}

/* FORMS */
.form__field-wrapper {
  position: relative;
  width: 100%;
}

.form__field-wrapper .form-icon {
  width: 4.5rem;
  color: rgba(var(--color-foreground), 0.8);
  position: absolute;
  z-index: 1;
  inset-inline-start: -6px;
}

.form__field-wrapper label {
  margin-inline-start: 3rem;
  max-width: calc(100% - 7rem);
}

.form__field-wrapper .field__input {
  padding-inline-end: 5rem;
  padding-inline-start: 5rem;
}

.form__field-wrapper .field {
  z-index: 0;
}

/* ICON CONTAINERS */
.icon-container--circle,
.icon-container--square,
.icon-container--rounded {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--icon-size);
  height: calc(var(--icon-size) + 0.5em);
  width: calc(var(--icon-size) + 0.5em);
}

.icon-container svg {
  height: calc(var(--icon-size) * 0.8);
  width: calc(var(--icon-size) * 0.8);
  fill: rgb(var(--color-icon, var(--color-foreground)));
  overflow: visible;
}

.icon-container--circle,
.icon-container--square,
.icon-container--rounded {
  background-color: rgb(var(--icon-background-color));
  background-image: var(--icon-gradient-background, none);
}

.icon-container--circle {
  border-radius: 50%;
}

.icon-container--rounded {
  border-radius: 0.2em;
}

@media screen and (min-width: 750px) {
  .icon-container svg {
    height: var(--icon-size);
    width: var(--icon-size);
  }

  .icon-container--square,
  .icon-container--rounded,
  .icon-container--circle {
    height: calc(var(--icon-size) + 0.8em);
    width: calc(var(--icon-size) + 0.8em);
  }
}

.mb--icon-container.icon--has-container {
  margin-bottom: 2rem;
}

.mb--icon-container.icon-container--none {
  margin-bottom: 1.5rem;
}

.icon-container--none {
  font-size: 0;
}

/* ICONS */
.custom-icon {
  stroke: rgb(var(--color-icon, var(--color-foreground)));
}

.standard-icon,
.custom-icon {
  fill: rgb(var(--color-icon, var(--color-foreground)));
}

.stroke-width-standard {
  stroke-width: 24px;
}

.stroke-width-32 {
  stroke-width: 32px;
}

.button.font-bold .stroke-width-standard {
  stroke-width: 32px;
}

.button.font-bold .stroke-width-32 {
  stroke-width: 40px;
}

.fill-none {
  fill: none;
}

/* Keep this circle consistent sizing with other cirlce icons*/
.icon--silhouette_circle {
  transform: scale(0.9);
}

.icon--large {
  width: 2.5rem;
  height: auto;
}

.icon--has-container .icon--shield, .icon--has-container .icon--shield_checkmark {
  margin-top: 0.3rem;
}

.icon--has-container .icon--heart, .icon--has-container .icon--washing, .icon--has-container .icon--fitness, .icon--has-container .icon--book, .icon--has-container .icon--male_female, .icon--has-container .icon--trophy {
  margin-top: 0.4rem;
}

.icon--has-container .icon--information, .icon--has-container .icon--warning, .icon--has-container .icon--home, .icon--has-container .icon--gift, .icon--has-container .icon--return, .icon--has-container .icon--apple, .icon--has-container .icon--banana, .icon--has-container .icon--fast_food, .icon--has-container .icon--bicycle, .icon--has-container .icon--stopwatch, .icon--has-container .icon--speedometer, .icon--has-container .icon--lock_closed, .icon--has-container .icon--lock_open {
  margin-top: -0.4rem;
}

.icon--has-container .icon--airplane,
.icon--has-container .icon--chevron_right {
  margin-inline-start: 0.6rem;
}

.icon--has-container .icon--lightning_bolt {
  margin-inline-start: -0.2rem;
}

/* CLOSABLE ELEMENTS */
closable-element {
  transition: max-height 0.4s var(--cubic-bezier-ease-out-slow);
}

.closable-element--no-trans closable-element {
  transition: none;
}

closable-element[aria-hidden='true'] {
  max-height: 0 !important;
  overflow: hidden;
}

.closable-element__close {
  top: 0;
  inset-inline-end: 1rem;
  min-width: 3rem;
  bottom: 0;
  max-height: 5rem;
}

.short-section .closable-element__close {
  min-height: 0;
  max-height: none;
}


/* PRODUCTS */
.product-media-modal {
  background-color: rgb(var(--color-background));
  height: 100%;
  position: fixed;
  top: 0;
  inset-inline-start: 0;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  z-index: -1;
}

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

.let-it-snow-let-it-snow-let-it-snow::before {
  content: ' ';
  display: block;
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0.25;
  background-image: var(--easter-egg-let-it-snow);
  background-repeat: repeat;
  background-position: 50% 21%;
  z-index: 1;
  pointer-events: none;
}

footer.let-it-snow-let-it-snow-let-it-snow::before {
  opacity: 0;
}


/* BREADCRUMBS */
.breadcrumbs {
  --breadcrumb-gap: 0.4em;
  color: rgba(var(--color-foreground), 0.8);
}

.breadcrumbs ol {
  margin: var(--breadcrumb-padding) 0;
}

.breadcrumb__link--icon {
  gap: var(--breadcrumb-gap);
}

.breadcrumb__link--icon svg {
  height: 1em;
  width: 1em;
  fill: rgba(var(--color-foreground), 0.7);
  stroke: none;
}

.breadcrumbs.uppercase .breadcrumb__link--icon svg {
  margin-top: -0.15em
}

.breadcrumb__separator {
  margin: 0 var(--breadcrumb-gap);
}

.breadcrumbs [aria-current] {
  color: rgba(var(--color-foreground), 1);
}

.breadcrumb__link:not([aria-current]):hover {
  text-decoration: underline;
  text-underline-offset: 0.3em;
  text-decoration-thickness: 0.1em;
  text-decoration-color: rgba(var(--color-foreground), 0.6);
}

/* CUSTOM SELECT */
select.nice__select {
  /* Ensures HTML5 validation will show */
  position: absolute;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none;
}

.nice-select {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer;
  position: relative;
  user-select: none;
  box-shadow: none !important;
  display: flex;
  align-items: center;
  line-height: 1.25em;
}

.nice-select-search-box {
  margin: 1rem 1rem 0.25rem 1rem;
  width: calc(100% - 2rem) !important;
}

.nice-select-search-box .field__input {
  font-size: 1.4rem;
  height: 4rem;
  padding: .5em 1em !important;
  min-height: 4rem;
}

.nice-select-search-box .field__input::placeholder {
  color: rgba(var(--color-foreground), 0.5);
}

.tab-active .nice-select:focus {
  outline: 0.2rem solid rgba(var(--color-foreground), 1);
  outline-offset: 0.3rem;
  box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 1);
}

.nice-select.open .nice-select-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.nice-select .current {
  overflow: hidden;
  max-height: 2.1em;
}

.nice-select.disabled {
  opacity: 0.6;
  pointer-events: none;
}

.nice-select .nice-select-dropdown {
  margin-top: 4px;
  visibility: hidden;
  position: absolute;
  top: calc(100% + var(--inputs-border-width));
  inset-inline-start: 0;
  transform-origin: 50% 0;
  transform: translateY(-1.5rem);
  transition: transform var(--duration-default) ease, var(--duration-default) ease, var(--duration-default) ease;
  z-index: 9;
  opacity: 0;
  overflow: auto;
  max-height: 350px;
  background-color: rgb(var(--color-background));
  border-radius: var(--popup-corner-radius);
  border: var(--inputs-border-width) solid rgba(var(--color-foreground),var(--inputs-border-opacity));
  min-width: 100%;
  /*box-shadow: var(--popup-shadow-horizontal-offset) 6px var(--popup-shadow-blur-radius) rgba(var(--color-shadow),var(--popup-shadow-opacity));*/
}

.nice-select .nice-select-dropdown {
  scrollbar-width: thin;
  scrollbar-color: rgba(var(--color-foreground), 0.4) rgba(var(--color-foreground), 0.06);
}

.nice-select .nice-list {
  border-radius: var(--popup-corner-radius);
  padding: 0.5rem 0;
  margin: 0;
  overflow-y: auto;
  letter-spacing: normal;
}

.nice-select .nice-list:hover .option:not(:hover) {
  background-color: rgba(0, 0, 0, 0) !important
}

.nice-select .option {
  cursor: pointer;
  list-style: none;
  line-height: 1.5em;
  outline: none;
  padding: 0.5em 1.5em;
  min-width: 18rem;
}

.nice-select .option:hover,
.nice-select .option.focus,
.nice-select .option.selected.focus {
  background-color: rgba(0, 0, 0, 0.05);
}

.nice-select .option.selected {
  font-weight: bold;
}

.nice-select .option.disabled {
  opacity: 0.6;
  cursor: default
}

.nice-select .optgroup {
  font-weight: bold
}

.no-csspointerevents .nice-select .nice-select-dropdown {
  display: none;
}

.no-csspointerevents .nice-select.open .nice-select-dropdown {
  display: block;
}

/* Animated list */
animated-list {
  --al-autoplay-speed: 3000;
  --al-enter-speed: 600ms;
  --al-leave-speed: 400ms;
  --al-width-speed: 400ms;
  display: inline-flex;
  justify-content: center;
  transition: width var(--al-width-speed) ease-in-out;
}

.animated-list__item {
  position: absolute;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--al-enter-speed), visibility var(--al-enter-speed), transform var(--al-enter-speed);
  transform: translateY(-35px);
  will-change: transform, opacity, visibility;
}

.animated-list__item--visible {
  position: relative;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.animated-list__item--leaving {
  transition: opacity var(--al-leave-speed), visibility var(--al-leave-speed), transform var(--al-leave-speed);
  transform: translateY(35px);
}

/* Time of day visibility */
html.its-morning .hidden-morning,
html.its-afternoon .hidden-afternoon,
html.its-evening .hidden-evening,
html.its-night .hidden-night {
  display: none !important;
}

/* General progress bars */
.progress-bar {
  height: 3px;
  border-radius: 2px;
  display: block !important;
  background-color: rgba(var(--color-foreground), 0.1);
}

.progress-bar::after {
  content: '';
  display: block;
  height: 100%;
  width: var(--progress-bar-width);
  border-radius: 2px;
  background: var(--progress-bar-background, rgb(var(--color-foreground)));
}

/* Pill */
.pill {
  background-color: var(--flash-sale-color-light);
  padding: 0.3rem 0.7rem;
  border-radius: var(--flash-sale-corner-radius);
  margin-inline-end: 0.8rem;
  color: var(--flash-sale-color);
  will-change: transform;
  line-height: 1.3em;
}

.pill:has(.icon) {
  padding-inline-start: 0.3rem;
}

.pill .icon {
  background: var(--flash-sale-color);
  border-radius: inherit;
  fill: var(--flash-sale-color-light);
  padding: 1px;
}


.zendia-gaming-box{
  margin-top:12px;
  padding:12px;
  border:1px solid rgba(0,0,0,0.12);
  border-radius:10px;
  font-size:13px;
  line-height:1.45;
  background:#fff;
}
.zendia-gaming-title{ font-weight:700; margin-bottom:8px; }
.zendia-gaming-list{ margin:0; padding-left:18px; }

.zendia-only-mobile{ display:none; }
.zendia-only-desktop{ display:block; }

@media (max-width: 989px){
  .zendia-only-mobile{ display:block; }
  .zendia-only-desktop{ display:none; }
}

.zendia-fps-box{
  position:relative;
  overflow:hidden;
  margin:32px 0;
  padding:28px;
  border-radius:24px;
  background:
    radial-gradient(circle at 12% 18%, rgba(96,165,250,0.18) 0%, transparent 26%),
    radial-gradient(circle at 88% 20%, rgba(168,85,247,0.14) 0%, transparent 24%),
    radial-gradient(circle at 50% 100%, rgba(59,130,246,0.10) 0%, transparent 35%),
    linear-gradient(180deg, #f8fbff 0%, #edf4ff 52%, #e8f1ff 100%);
  border:1px solid rgba(91,123,181,0.18);
  box-shadow:
    0 20px 60px rgba(24,48,94,0.10),
    inset 0 1px 0 rgba(255,255,255,0.85);
  color:#122033;
}

.zendia-fps-box::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    radial-gradient(circle, rgba(255,255,255,0.95) 0.7px, transparent 0.8px),
    radial-gradient(circle, rgba(147,197,253,0.55) 0.8px, transparent 1px),
    radial-gradient(circle, rgba(196,181,253,0.50) 0.7px, transparent 0.9px);
  background-size: 140px 140px, 190px 190px, 230px 230px;
  background-position: 0 0, 40px 60px, 90px 20px;
  opacity:.55;
  pointer-events:none;
}

.zendia-fps-box::after{
  content:"";
  position:absolute;
  inset:auto -120px -120px auto;
  width:260px;
  height:260px;
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 35%, rgba(255,255,255,0.95) 0%, rgba(191,219,254,0.95) 22%, rgba(96,165,250,0.35) 48%, rgba(96,165,250,0) 72%);
  filter:blur(10px);
  opacity:.65;
  pointer-events:none;
}

.zendia-fps-header{
  position:relative;
  z-index:2;
  text-align:center;
  margin-bottom:22px;
}

.zendia-fps-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 14px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:1.4px;
  text-transform:uppercase;
  color:#ffffff;
  background:linear-gradient(90deg, #2563eb, #7c3aed);
  box-shadow:0 8px 24px rgba(66, 99, 235, 0.28);
  margin-bottom:12px;
}

.zendia-fps-header h3{
  margin:0;
  font-size:30px;
  line-height:1.1;
  font-weight:800;
  color:#0f172a;
}

.zendia-fps-sub{
  margin:10px 0 0;
  font-size:15px;
  line-height:1.6;
  color:#51627b;
}

.zendia-fps-highlight{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:18px 20px;
  margin:0 0 22px;
  border-radius:18px;
  background:rgba(255,255,255,0.62);
  border:1px solid rgba(125, 155, 212, 0.22);
  box-shadow:0 10px 30px rgba(31, 60, 114, 0.08);
  backdrop-filter:blur(10px);
}

.zendia-fps-icon{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:linear-gradient(135deg, #2563eb, #7c3aed);
  color:#fff;
  font-size:18px;
  box-shadow:0 10px 22px rgba(79,70,229,0.25);
}

.zendia-fps-highlight strong{
  display:block;
  margin:0 0 4px;
  font-size:15px;
  color:#0f172a;
}

.zendia-fps-highlight p{
  margin:0;
  font-size:14px;
  line-height:1.6;
  color:#56677f;
}

.zendia-res-buttons{
  position:relative;
  z-index:2;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:20px;
}

.zendia-res-buttons button{
  appearance:none;
  border:none;
  cursor:pointer;
  padding:12px 18px;
  border-radius:999px;
  font-size:14px;
  font-weight:700;
  color:#30445f;
  background:rgba(255,255,255,0.82);
  border:1px solid rgba(122,145,186,0.22);
  box-shadow:0 8px 22px rgba(30,64,175,0.06);
  transition:all .25s ease;
}

.zendia-res-buttons button:hover{
  transform:translateY(-1px);
  background:#ffffff;
  color:#0f172a;
}

.zendia-res-buttons button.active{
  color:#ffffff;
  background:linear-gradient(90deg, #2563eb, #7c3aed);
  box-shadow:0 12px 26px rgba(76, 81, 191, 0.28);
  border-color:transparent;
}

.zendia-fps-table-wrap{
  position:relative;
  z-index:2;
  overflow:hidden;
  border-radius:20px;
  background:rgba(255,255,255,0.70);
  border:1px solid rgba(120,145,190,0.18);
  box-shadow:0 16px 36px rgba(20,44,87,0.08);
  backdrop-filter:blur(10px);
}

.zendia-fps-table{
  width:100%;
  border-collapse:collapse;
}

.zendia-fps-table thead th{
  text-align:left;
  padding:16px 18px;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.7px;
  color:#42556f;
  background:linear-gradient(180deg, rgba(226,236,255,0.85), rgba(241,246,255,0.92));
  border-bottom:1px solid rgba(131,154,196,0.16);
}

.zendia-fps-table tbody td{
  padding:16px 18px;
  font-size:15px;
  color:#162538;
  border-bottom:1px solid rgba(136,157,196,0.12);
}

.zendia-fps-table tbody tr:last-child td{
  border-bottom:none;
}

.zendia-fps-table tbody tr:hover{
  background:rgba(214,228,255,0.24);
}

.zendia-fps-table td.fps-value{
  font-weight:800;
  color:#1d4ed8;
}

.zendia-fps-note{
  position:relative;
  z-index:2;
  margin:16px 2px 0;
  font-size:12px;
  line-height:1.6;
  color:#61728b;
}

@media screen and (max-width: 749px){
  .zendia-fps-box{
    padding:20px;
    border-radius:20px;
  }

  .zendia-fps-header h3{
    font-size:24px;
  }

  .zendia-fps-highlight{
    padding:16px;
    gap:12px;
  }

  .zendia-res-buttons{
    gap:8px;
  }

  .zendia-res-buttons button{
    flex:1 1 calc(50% - 8px);
    justify-content:center;
    text-align:center;
    padding:11px 14px;
    font-size:13px;
  }

  .zendia-fps-table thead th,
  .zendia-fps-table tbody td{
    padding:14px 14px;
    font-size:14px;
  }
}
.zendia-space-hero {
  position: relative;
  overflow: hidden;
  min-height: 860px;
  background:
    radial-gradient(circle at 50% 18%, rgba(59,130,246,0.14) 0%, rgba(59,130,246,0) 34%),
    linear-gradient(180deg, #02050d 0%, #07101f 45%, #050814 100%);
  color: #fff;
  isolation: isolate;
}



/* BASE ATMOSFERA */
.zendia-space-hero__bg {
  position: absolute;
  inset: -8%;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 22%, rgba(56,189,248,0.14) 0%, transparent 24%),
    radial-gradient(circle at 82% 18%, rgba(147,51,234,0.12) 0%, transparent 22%),
    radial-gradient(circle at 68% 72%, rgba(59,130,246,0.10) 0%, transparent 24%),
    radial-gradient(circle at 38% 78%, rgba(34,211,238,0.08) 0%, transparent 18%);
  animation: zendiaBgFloat 22s ease-in-out infinite alternate;
  will-change: transform;
}

/* STELLE MULTI-LAYER */
.zendia-space-hero__stars {
  position: absolute;
  inset: -10%;
  pointer-events: none;
  background-repeat: repeat;
  will-change: transform;
}

.zendia-space-hero__stars--back {
  z-index: 1;
  opacity: 0.28;
  background-image:
    radial-gradient(circle, rgba(255,255,255,0.85) 0 1px, transparent 1.8px),
    radial-gradient(circle, rgba(255,255,255,0.55) 0 1px, transparent 2px);
  background-size: 240px 240px, 320px 320px;
  background-position: 0 0, 120px 80px;
  animation: zendiaStarsDriftBack 95s linear infinite;
}

.zendia-space-hero__stars--mid {
  z-index: 2;
  opacity: 0.38;
  background-image:
    radial-gradient(circle, rgba(255,255,255,0.95) 0 1px, transparent 2px),
    radial-gradient(circle, rgba(191,219,254,0.75) 0 1px, transparent 2px),
    radial-gradient(circle, rgba(255,255,255,0.45) 0 2px, transparent 3px);
  background-size: 180px 180px, 260px 260px, 340px 340px;
  background-position: 0 0, 60px 120px, 140px 40px;
  animation: zendiaStarsDriftMid 65s linear infinite;
}

.zendia-space-hero__stars--front {
  z-index: 3;
  opacity: 0.52;
  background-image:
    radial-gradient(circle, rgba(255,255,255,1) 0 1.2px, transparent 2.4px),
    radial-gradient(circle, rgba(125,211,252,0.70) 0 1px, transparent 2px),
    radial-gradient(circle, rgba(196,181,253,0.58) 0 1px, transparent 2px);
  background-size: 120px 120px, 200px 200px, 280px 280px;
  background-position: 0 0, 50px 90px, 100px 30px;
  animation: zendiaStarsDriftFront 42s linear infinite;
}

/* NEBULOSE */
.zendia-space-hero__nebula {
  position: absolute;
  border-radius: 999px;
  filter: blur(90px);
  pointer-events: none;
  z-index: 1;
  opacity: 0.60;
  will-change: transform;
}

.zendia-space-hero__nebula--left {
  width: 440px;
  height: 440px;
  left: -110px;
  top: 130px;
  background: radial-gradient(circle, rgba(34,211,238,0.26) 0%, rgba(34,211,238,0) 72%);
  animation: zendiaNebulaLeft 20s ease-in-out infinite alternate;
}

.zendia-space-hero__nebula--right {
  width: 540px;
  height: 540px;
  right: -120px;
  bottom: 70px;
  background: radial-gradient(circle, rgba(168,85,247,0.22) 0%, rgba(168,85,247,0) 72%);
  animation: zendiaNebulaRight 24s ease-in-out infinite alternate;
}

/* GLOW CENTRALE */
.zendia-space-hero__glow {
  position: absolute;
  left: 50%;
  top: 42%;
  width: 760px;
  height: 760px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(59,130,246,0.24) 0%, rgba(59,130,246,0.10) 28%, rgba(59,130,246,0) 68%);
  filter: blur(30px);
  z-index: 2;
  pointer-events: none;
  animation: zendiaGlowPulse 12s ease-in-out infinite;
  will-change: transform, opacity;
}

/* PARTICELLE / POLVERE SPAZIALE */
.zendia-space-hero__particles {
  position: absolute;
  inset: -10%;
  z-index: 4;
  opacity: 0.22;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 20%, rgba(255,255,255,0.55) 0 1px, transparent 2px),
    radial-gradient(circle at 26% 63%, rgba(255,255,255,0.35) 0 1px, transparent 2px),
    radial-gradient(circle at 41% 17%, rgba(255,255,255,0.40) 0 1px, transparent 2px),
    radial-gradient(circle at 57% 66%, rgba(255,255,255,0.22) 0 1px, transparent 2px),
    radial-gradient(circle at 68% 28%, rgba(255,255,255,0.45) 0 1px, transparent 2px),
    radial-gradient(circle at 79% 13%, rgba(255,255,255,0.32) 0 1px, transparent 2px),
    radial-gradient(circle at 87% 60%, rgba(255,255,255,0.26) 0 1px, transparent 2px),
    radial-gradient(circle at 94% 34%, rgba(255,255,255,0.38) 0 1px, transparent 2px);
  animation: zendiaParticlesFloat 26s ease-in-out infinite alternate;
  will-change: transform;
}

.zendia-space-hero__content {
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 34px 0 54px;
}

.zendia-space-hero__top {
  text-align: center;
  margin-bottom: 14px;
}

.zendia-space-hero__eyebrow {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #bfdfff;
}

.zendia-space-hero__media {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 18px;
}

.zendia-space-hero__image {
  width: min(90vw, 420px);
  max-width: 420px;
  min-width: 0;
  height: auto;
  object-fit: contain;
  object-position: center;
  display: block;
  user-select: none;
  -webkit-user-drag: none;
  filter: drop-shadow(0 20px 50px rgba(0,0,0,0.35));
}

.zendia-space-hero__bottom {
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
}

.zendia-space-hero p {
  margin: 0 auto 22px;
  max-width: 520px;
  font-size: 16px;
  line-height: 1.5;
  color: rgba(255,255,255,0.90);
  text-shadow: 0 6px 20px rgba(0,0,0,0.22);
}

.zendia-space-hero__buttons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 18px;
}

.zendia-space-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 22px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 700;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
  backdrop-filter: blur(8px);
}

.zendia-space-btn--primary {
  color: #fff;
  background: linear-gradient(90deg, #2563eb 0%, #3b82f6 100%);
  box-shadow: 0 12px 28px rgba(37,99,235,0.28);
}

.zendia-space-btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(37,99,235,0.34);
}

.zendia-space-btn--secondary {
  color: #fff;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.16);
}

.zendia-space-btn--secondary:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,0.12);
}

.zendia-space-hero__badges {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 900px;
  margin: 0 auto;
}

.zendia-space-badge {
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #eef6ff;
  padding: 8px 12px;
  border-radius: 999px;
  white-space: nowrap;
  backdrop-filter: blur(10px);
  transition: all 0.25s ease;
}

.zendia-space-badge:nth-child(1) {
  background: linear-gradient(135deg, rgba(56,189,248,0.18), rgba(59,130,246,0.10));
  border: 1px solid rgba(56,189,248,0.35);
  box-shadow: 0 0 12px rgba(56,189,248,0.25);
}

.zendia-space-badge:nth-child(2) {
  background: linear-gradient(135deg, rgba(34,211,238,0.16), rgba(14,165,233,0.08));
  border: 1px solid rgba(34,211,238,0.30);
  box-shadow: 0 0 12px rgba(34,211,238,0.22);
}

.zendia-space-badge:nth-child(3) {
  background: linear-gradient(135deg, rgba(139,92,246,0.18), rgba(168,85,247,0.10));
  border: 1px solid rgba(139,92,246,0.30);
  box-shadow: 0 0 12px rgba(139,92,246,0.22);
}

.zendia-space-badge:nth-child(4) {
  background: linear-gradient(135deg, rgba(59,130,246,0.16), rgba(37,99,235,0.10));
  border: 1px solid rgba(59,130,246,0.30);
  box-shadow: 0 0 12px rgba(59,130,246,0.22);
}

.zendia-space-badge:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 18px rgba(255,255,255,0.25);
}

/* ANIMAZIONI */
@keyframes zendiaBgFloat {
  0%   { transform: translate3d(0,0,0) scale(1); }
  100% { transform: translate3d(-18px, 12px, 0) scale(1.04); }
}

@keyframes zendiaStarsDriftBack {
  from { transform: translate3d(0,0,0); }
  to   { transform: translate3d(-120px,-60px,0); }
}

@keyframes zendiaStarsDriftMid {
  from { transform: translate3d(0,0,0); }
  to   { transform: translate3d(-180px,-90px,0); }
}

@keyframes zendiaStarsDriftFront {
  from { transform: translate3d(0,0,0); }
  to   { transform: translate3d(-260px,-120px,0); }
}

@keyframes zendiaNebulaLeft {
  from { transform: translate3d(0,0,0) scale(1); }
  to   { transform: translate3d(28px,-18px,0) scale(1.10); }
}

@keyframes zendiaNebulaRight {
  from { transform: translate3d(0,0,0) scale(1); }
  to   { transform: translate3d(-30px,22px,0) scale(1.08); }
}

@keyframes zendiaGlowPulse {
  0%,100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: .82;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.07);
    opacity: 1;
  }
}

@keyframes zendiaParticlesFloat {
  from { transform: translate3d(0,0,0); }
  to   { transform: translate3d(-20px,-14px,0); }
}

/* RESPONSIVE */
@media screen and (max-width: 1200px) {
  .zendia-space-hero {
    min-height: 800px;
  }

  .zendia-space-hero__image {
    width: min(90vw, 520px);
    max-width: 520px;
  }
}

@media screen and (max-width: 989px) {
  .zendia-space-hero {
    min-height: 760px;
  }

  .zendia-space-hero__content {
    padding: 28px 0 44px;
  }

  .zendia-space-hero__image {
    width: min(90vw, 460px);
    max-width: 460px;
  }

  .zendia-space-hero p {
    font-size: 15px;
  }
}

@media screen and (max-width: 749px) {
  .zendia-space-hero {
    min-height: 700px;
  }

  .zendia-space-hero__content {
    padding: 22px 0 36px;
  }

  .zendia-space-hero__top {
    margin-bottom: 10px;
  }

  .zendia-space-hero__eyebrow {
    font-size: 12px;
  }

  .zendia-space-hero__media {
    margin-bottom: 10px;
  }

  .zendia-space-hero__image {
    width: 92vw;
    max-width: 340px;
    opacity: 0.96;
  }

  .zendia-space-hero__glow {
    width: 500px;
    height: 500px;
    top: 40%;
  }

  .zendia-space-hero p {
    font-size: 14px;
    line-height: 1.45;
    margin-bottom: 18px;
    padding: 0 10px;
  }

  .zendia-space-hero__buttons {
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
  }

  .zendia-space-btn {
    width: auto;
    min-width: 200px;
    max-width: 240px;
  }

  .zendia-space-hero__badges {
    gap: 6px;
  }

  .zendia-space-badge {
    font-size: 10px;
    padding: 7px 9px;
  }
}
.zendia-space-hero > .zendia-space-hero__bg,
.zendia-space-hero > .zendia-space-hero__stars,
.zendia-space-hero > .zendia-space-hero__nebula,
.zendia-space-hero > .zendia-space-hero__glow,
.zendia-space-hero > .zendia-space-hero__particles {
  display: block !important;
  visibility: visible !important;
}

.zendia-space-hero {
  perspective: 1200px;          /* aiuta la sensazione 3D */
}

.zendia-space-hero__stars--back,
.zendia-space-hero__stars--mid,
.zendia-space-hero__stars--front,
.zendia-space-hero__nebula--left,
.zendia-space-hero__nebula--right,
.zendia-space-hero__glow,
.zendia-space-hero__particles,
.zendia-space-hero__bg {
  transform-style: preserve-3d;
  will-change: transform;
}
/* =========================
   ZENDIA SPACE OBJECTS PRO
   sostituisce i vecchi flyby/comet
   ========================= */

.zendia-space-hero > .zendia-space-hero__flyby,
.zendia-space-hero > .zendia-space-hero__comet {
  display: block !important;
  visibility: visible !important;
}

.zendia-space-hero__flyby,
.zendia-space-hero__comet {
  position: absolute;
  pointer-events: none;
  will-change: transform, opacity;
}

/* -------------------------
   SONDE / SATELLITI / UFO
   ------------------------- */

.zendia-space-hero__flyby {
  z-index: 5;
}

/* SONDA 1 */
.zendia-space-hero__flyby--probe {
  top: 16%;
  left: -140px;
  width: 92px;
  height: 30px;
  opacity: 0.28;
  animation: zendiaProbeFlyby 28s linear infinite;
}

.zendia-space-hero__flyby--probe::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg,
      transparent 0 8%,
      rgba(184,198,224,0.95) 8% 32%,
      rgba(106,120,154,0.95) 32% 44%,
      rgba(220,228,246,0.96) 44% 54%,
      rgba(94,108,142,0.92) 54% 60%,
      rgba(70,130,255,0.72) 60% 78%,
      rgba(70,130,255,0.72) 78% 92%,
      transparent 92% 100%);
  clip-path: polygon(0 50%, 18% 34%, 46% 34%, 58% 12%, 66% 12%, 70% 34%, 100% 34%, 100% 66%, 70% 66%, 66% 88%, 58% 88%, 46% 66%, 18% 66%, 0 50%);
  filter: drop-shadow(0 0 10px rgba(130,170,255,0.18));
}

.zendia-space-hero__flyby--probe::after {
  content: "";
  position: absolute;
  left: -34px;
  top: 12px;
  width: 34px;
  height: 4px;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(125,211,252,0.30), rgba(255,255,255,0));
  filter: blur(1px);
}

/* SONDA 2 */
.zendia-space-hero__flyby--probe-two {
  right: -120px;
  top: 54%;
  width: 76px;
  height: 24px;
  opacity: 0.18;
  animation: zendiaProbeFlybyTwo 34s linear infinite;
}

.zendia-space-hero__flyby--probe-two::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg,
      transparent 0 8%,
      rgba(215,225,245,0.90) 8% 28%,
      rgba(110,124,152,0.88) 28% 46%,
      rgba(88,146,255,0.62) 46% 76%,
      transparent 76% 100%);
  clip-path: polygon(0 50%, 20% 30%, 54% 30%, 100% 44%, 100% 56%, 54% 70%, 20% 70%);
  filter: drop-shadow(0 0 8px rgba(150,190,255,0.16));
}

.zendia-space-hero__flyby--probe-two::after {
  content: "";
  position: absolute;
  right: -18px;
  top: 9px;
  width: 22px;
  height: 3px;
  background: linear-gradient(90deg, rgba(255,255,255,0.20), rgba(125,211,252,0));
  filter: blur(1px);
}

/* SATELLITE 1 */
.zendia-space-hero__flyby--satellite {
  top: 66%;
  left: -90px;
  width: 78px;
  height: 28px;
  opacity: 0.18;
  animation: zendiaSatelliteFlyby 40s linear infinite;
}

.zendia-space-hero__flyby--satellite::before {
  content: "";
  position: absolute;
  left: 28px;
  top: 8px;
  width: 22px;
  height: 12px;
  border-radius: 4px;
  background: linear-gradient(180deg, rgba(220,230,255,0.94), rgba(120,134,166,0.90));
  box-shadow: 0 0 12px rgba(140,180,255,0.10);
}

.zendia-space-hero__flyby--satellite::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(78,138,255,0.72) 0 20%, transparent 20% 28%, rgba(78,138,255,0.72) 28% 48%, transparent 48% 56%, rgba(78,138,255,0.72) 56% 76%, transparent 76% 100%);
  clip-path: polygon(0 34%, 22% 34%, 22% 26%, 30% 26%, 30% 34%, 70% 34%, 70% 26%, 78% 26%, 78% 34%, 100% 34%, 100% 66%, 78% 66%, 78% 74%, 70% 74%, 70% 66%, 30% 66%, 30% 74%, 22% 74%, 22% 66%, 0 66%);
  filter: drop-shadow(0 0 8px rgba(125,211,252,0.12));
}

/* SATELLITE 2 */
.zendia-space-hero__flyby--satellite-two {
  top: 10%;
  right: 10%;
  width: 54px;
  height: 54px;
  opacity: 0.12;
  animation: zendiaSatelliteFloat 18s ease-in-out infinite alternate;
}

.zendia-space-hero__flyby--satellite-two::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 18px;
  width: 18px;
  height: 18px;
  border-radius: 4px;
  background: linear-gradient(180deg, rgba(220,230,255,0.90), rgba(110,120,150,0.88));
}

.zendia-space-hero__flyby--satellite-two::after {
  content: "";
  position: absolute;
  left: 0;
  top: 22px;
  width: 54px;
  height: 10px;
  background:
    linear-gradient(90deg,
      rgba(72,130,255,0.72) 0 20%,
      transparent 20% 30%,
      rgba(72,130,255,0.72) 30% 46%,
      transparent 46% 54%,
      rgba(72,130,255,0.72) 54% 70%,
      transparent 70% 80%,
      rgba(72,130,255,0.72) 80% 100%);
  clip-path: polygon(0 0, 18% 0, 18% 100%, 82% 100%, 82% 0, 100% 0, 100% 100%, 0 100%);
  filter: drop-shadow(0 0 8px rgba(125,211,252,0.10));
}

/* UFO 1 */
.zendia-space-hero__flyby--ufo {
  top: 46%;
  right: -80px;
  width: 58px;
  height: 20px;
  opacity: 0.12;
  animation: zendiaUfoGlide 44s linear infinite;
}

.zendia-space-hero__flyby--ufo::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 14%, rgba(232,238,255,0.52) 0 20%, transparent 22%),
    linear-gradient(180deg, rgba(176,186,216,0.58), rgba(92,104,140,0.30));
  clip-path: ellipse(50% 48% at 50% 50%);
  box-shadow: 0 0 12px rgba(125,211,252,0.08);
}

.zendia-space-hero__flyby--ufo::after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: -4px;
  height: 7px;
  background: radial-gradient(circle, rgba(125,211,252,0.18), rgba(125,211,252,0));
  filter: blur(2px);
}

/* UFO 2 */
.zendia-space-hero__flyby--ufo-two {
  left: -60px;
  top: 32%;
  width: 42px;
  height: 14px;
  opacity: 0.08;
  animation: zendiaUfoGlideTwo 50s linear infinite;
}

.zendia-space-hero__flyby--ufo-two::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 18%, rgba(230,236,255,0.42) 0 18%, transparent 20%),
    linear-gradient(180deg, rgba(174,184,210,0.46), rgba(88,100,132,0.22));
  clip-path: ellipse(50% 48% at 50% 50%);
  box-shadow: 0 0 10px rgba(125,211,252,0.06);
}

.zendia-space-hero__flyby--ufo-two::after {
  content: "";
  position: absolute;
  left: 7px;
  right: 7px;
  bottom: -3px;
  height: 6px;
  background: radial-gradient(circle, rgba(125,211,252,0.12), rgba(125,211,252,0));
  filter: blur(2px);
}

/* -------------------------
   ASTRONAUTA MIGLIORATO
   ------------------------- */

.zendia-space-hero__flyby--astronaut {
  top: 26%;
  left: -100px;
  width: 72px;
  height: 72px;
  opacity: 0.24;
  animation: zendiaAstronautFloat 34s linear infinite;
}

.zendia-space-hero__flyby--astronaut::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 16%, rgba(240,245,255,0.98) 0 10%, rgba(210,222,245,0.96) 11% 17%, transparent 18%),
    linear-gradient(180deg, transparent 0 20%, rgba(232,238,248,0.94) 20% 56%, transparent 56%),
    linear-gradient(90deg, transparent 0 18%, rgba(232,238,248,0.92) 18% 28%, transparent 28% 72%, rgba(232,238,248,0.92) 72% 82%, transparent 82%),
    linear-gradient(180deg, transparent 0 54%, rgba(232,238,248,0.94) 54% 100%);
  clip-path: polygon(
    42% 0, 58% 0,
    66% 10%, 68% 24%,
    84% 36%, 84% 50%,
    68% 50%, 64% 72%,
    78% 100%, 64% 100%,
    50% 78%, 36% 100%,
    22% 100%, 36% 72%,
    32% 50%, 16% 50%,
    16% 36%, 32% 24%,
    34% 10%
  );
  filter: drop-shadow(0 0 10px rgba(220,230,255,0.12));
}

.zendia-space-hero__flyby--astronaut::after {
  content: "";
  position: absolute;
  left: 50px;
  top: 24px;
  width: 26px;
  height: 2px;
  background: linear-gradient(90deg, rgba(232,238,248,0.24), rgba(232,238,248,0));
  transform: rotate(24deg);
  filter: blur(1px);
}

/* -------------------------
   COMETE DI FUOCO
   ------------------------- */

.zendia-space-hero__comet {
  z-index: 6;
}

.zendia-space-hero__comet::before {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background:
    radial-gradient(circle,
      rgba(255,255,255,0.98) 0%,
      rgba(255,233,180,0.96) 22%,
      rgba(255,168,58,0.92) 52%,
      rgba(255,88,20,0.78) 74%,
      rgba(255,88,20,0.00) 100%);
  box-shadow:
    0 0 12px rgba(255,170,70,0.26),
    0 0 24px rgba(255,110,32,0.20);
}

.zendia-space-hero__comet::after {
  content: "";
  position: absolute;
  height: 4px;
  border-radius: 999px;
  background:
    linear-gradient(90deg,
      rgba(255,90,20,0.00) 0%,
      rgba(255,110,24,0.26) 28%,
      rgba(255,164,56,0.58) 62%,
      rgba(255,232,180,0.96) 100%);
  filter: blur(2px);
}

/* Cometa 1 */
.zendia-space-hero__comet--one {
  top: 12%;
  left: -180px;
  width: 220px;
  height: 50px;
  transform: rotate(-14deg);
  animation: zendiaCometOneFire 16s linear infinite;
}

.zendia-space-hero__comet--one::before {
  right: 0;
  top: 18px;
}

.zendia-space-hero__comet--one::after {
  left: 0;
  top: 22px;
  width: 200px;
}

/* Cometa 2 */
.zendia-space-hero__comet--two {
  top: 56%;
  right: -220px;
  width: 260px;
  height: 56px;
  transform: rotate(168deg);
  animation: zendiaCometTwoFire 22s linear infinite;
}

.zendia-space-hero__comet--two::before {
  right: 0;
  top: 20px;
}

.zendia-space-hero__comet--two::after {
  left: 0;
  top: 24px;
  width: 230px;
}

/* Cometa 3 */
.zendia-space-hero__comet--three {
  top: 30%;
  left: -140px;
  width: 160px;
  height: 40px;
  transform: rotate(-6deg);
  opacity: 0.8;
  animation: zendiaCometThreeFire 28s linear infinite;
}

.zendia-space-hero__comet--three::before {
  right: 0;
  top: 14px;
  width: 9px;
  height: 9px;
}

.zendia-space-hero__comet--three::after {
  left: 0;
  top: 17px;
  width: 138px;
  height: 3px;
}

/* -------------------------
   KEYFRAMES
   ------------------------- */

@keyframes zendiaProbeFlyby {
  0%   { transform: translate3d(0, 0, 0) rotate(8deg) scale(0.94); opacity: 0; }
  8%   { opacity: 0.22; }
  40%  { opacity: 0.32; }
  70%  { opacity: 0.26; }
  100% { transform: translate3d(calc(100vw + 280px), -70px, 0) rotate(8deg) scale(1.04); opacity: 0; }
}

@keyframes zendiaProbeFlybyTwo {
  0%   { transform: translate3d(0, 0, 0) rotate(-10deg) scale(0.92); opacity: 0; }
  10%  { opacity: 0.12; }
  42%  { opacity: 0.20; }
  100% { transform: translate3d(calc(-100vw - 220px), -90px, 0) rotate(-10deg) scale(1.05); opacity: 0; }
}

@keyframes zendiaSatelliteFlyby {
  0%   { transform: translate3d(0, 0, 0) rotate(6deg) scale(0.92); opacity: 0; }
  12%  { opacity: 0.12; }
  50%  { opacity: 0.18; }
  100% { transform: translate3d(calc(100vw + 240px), -40px, 0) rotate(6deg) scale(1.04); opacity: 0; }
}

@keyframes zendiaSatelliteFloat {
  from { transform: translate3d(0, 0, 0) rotate(-8deg) scale(1); opacity: 0.08; }
  to   { transform: translate3d(-18px, 12px, 0) rotate(8deg) scale(1.06); opacity: 0.14; }
}

@keyframes zendiaUfoGlide {
  0%   { transform: translate3d(0, 0, 0) rotate(-4deg) scale(0.96); opacity: 0; }
  20%  { opacity: 0.08; }
  50%  { opacity: 0.12; }
  100% { transform: translate3d(calc(-100vw - 180px), 20px, 0) rotate(-1deg) scale(1.02); opacity: 0; }
}

@keyframes zendiaUfoGlideTwo {
  0%   { transform: translate3d(0, 0, 0) rotate(6deg) scale(0.94); opacity: 0; }
  16%  { opacity: 0.06; }
  50%  { opacity: 0.10; }
  100% { transform: translate3d(calc(100vw + 180px), 24px, 0) rotate(3deg) scale(1.04); opacity: 0; }
}

@keyframes zendiaAstronautFloat {
  0%   { transform: translate3d(0, 0, 0) rotate(0deg) scale(0.90); opacity: 0; }
  8%   { opacity: 0.16; }
  40%  { opacity: 0.24; }
  100% { transform: translate3d(calc(100vw + 260px), 84px, 0) rotate(520deg) scale(1.06); opacity: 0; }
}

@keyframes zendiaCometOneFire {
  0%   { transform: translate3d(0, 0, 0) rotate(-14deg); opacity: 0; }
  8%   { opacity: 0.24; }
  18%  { opacity: 0.50; }
  100% { transform: translate3d(calc(100vw + 360px), -120px, 0) rotate(-14deg); opacity: 0; }
}

@keyframes zendiaCometTwoFire {
  0%   { transform: translate3d(0, 0, 0) rotate(168deg); opacity: 0; }
  12%  { opacity: 0.18; }
  20%  { opacity: 0.34; }
  100% { transform: translate3d(calc(-100vw - 360px), 120px, 0) rotate(168deg); opacity: 0; }
}

@keyframes zendiaCometThreeFire {
  0%   { transform: translate3d(0, 0, 0) rotate(-6deg); opacity: 0; }
  10%  { opacity: 0.16; }
  16%  { opacity: 0.28; }
  100% { transform: translate3d(calc(100vw + 280px), -60px, 0) rotate(-6deg); opacity: 0; }
}

/* -------------------------
   RESPONSIVE
   ------------------------- */

@media screen and (max-width: 989px) {
  .zendia-space-hero__flyby--probe {
    width: 76px;
    height: 26px;
  }

  .zendia-space-hero__flyby--probe-two {
    width: 62px;
    height: 20px;
  }

  .zendia-space-hero__flyby--satellite {
    width: 64px;
    height: 24px;
  }

  .zendia-space-hero__flyby--satellite-two {
    width: 42px;
    height: 42px;
  }

  .zendia-space-hero__flyby--astronaut {
    width: 58px;
    height: 58px;
  }

  .zendia-space-hero__comet--one {
    width: 180px;
  }

  .zendia-space-hero__comet--two {
    width: 210px;
  }
}

@media screen and (max-width: 749px) {
  .zendia-space-hero__flyby--probe {
    width: 58px;
    height: 18px;
    opacity: 0.18;
  }

  .zendia-space-hero__flyby--probe-two,
  .zendia-space-hero__flyby--satellite-two,
  .zendia-space-hero__flyby--ufo-two {
    display: none !important;
  }

  .zendia-space-hero__flyby--satellite,
  .zendia-space-hero__flyby--ufo {
    opacity: 0.10;
  }

  .zendia-space-hero__flyby--astronaut {
    width: 42px;
    height: 42px;
    opacity: 0.14;
  }

  .zendia-space-hero__comet--two {
    display: none !important;
  }

  .zendia-space-hero__comet--one {
    width: 150px;
  }

  .zendia-space-hero__comet--three {
    width: 120px;
  }
}

.zendia-ticker {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: linear-gradient(90deg, #030611, #07101f, #030611);
  border-top: 1px solid rgba(255,255,255,0.08);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.zendia-ticker::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 50%, rgba(56,189,248,0.15), transparent 30%),
    radial-gradient(circle at 80% 50%, rgba(147,51,234,0.15), transparent 30%);
  opacity: 0.6;
  pointer-events: none;
}

.zendia-ticker__inner {
  display: flex;
  white-space: nowrap;
}

.zendia-ticker__track {
  display: flex;
  gap: 80px;
  padding: 14px 0;
  animation: zendiaTickerMove 22s linear infinite;
}

.zendia-ticker__track span {
  font-size: 14px;
  letter-spacing: 0.6px;
  color: #eaf1ff;
  font-weight: 500;
  text-transform: uppercase;

  text-shadow:
    0 0 6px rgba(78,161,255,0.6),
    0 0 12px rgba(147,51,234,0.4);
}

.zendia-ticker__track strong {
  color: #4ea1ff;
  font-weight: 700;
  text-shadow:
    0 0 8px rgba(78,161,255,0.9),
    0 0 16px rgba(78,161,255,0.6);
}

/* movimento */
@keyframes zendiaTickerMove {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-33.333%);
  }
}

/* effetto stelle leggero */
.zendia-ticker::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(white 1px, transparent 1px);
  background-size: 3px 3px;
  opacity: 0.05;
  animation: zendiaStarsMove 60s linear infinite;
}

@keyframes zendiaStarsMove {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200px);
  }
}
.zendia-badge-new{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  line-height:1;
  letter-spacing:.5px;
  background:#dc2626;
  color:#fff;
  z-index:3;
  box-shadow:0 4px 12px rgba(220,38,38,.22);
}

.zendia-badge-new--card{
  position:absolute;
  top:8px;
  left:8px;
}

.card__media,
.card__inner,
.card-wrapper{
  position:relative;
}

.zendia-home-offerte__image-wrap {
  position: relative;
}

.zendia-badge-new--offerte {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  padding: 4px 8px;
  background: #e11d2e;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  border-radius: 4px;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.22);
}

/* PRODUCT HEADER SEO */
.product-header-seo{
  margin-bottom:15px;
  line-height:1
}
.product-vendor-seo{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:#64748b;
  margin-bottom:4px;
  font-weight:400
}
.product-title-clean{
  font-size:1.7rem;
  font-weight:400;
  letter-spacing:-.04em;
  line-height:1.1;
  color:#0f172a;
  margin:0;
  max-width:85%
}
@media (max-width:767px){
  .product-title-clean{
    font-size:1.3rem;
    letter-spacing:-.02em;
    max-width:100%
  }
  .product-vendor-seo{
    font-size:9px
  }
}


/* ZENDIA - RATEIZZAZIONE CARD PRODOTTO */
.zendia-card-installment{
  margin-top:6px;
  padding:7px 9px;
  background:#f8fafc;
  border:1px solid #dbe3ee;
  border-radius:8px;
  display:flex;
  flex-direction:column;
  gap:1px;
}

.zendia-card-installment__top{
  font-size:9px;
  line-height:1.05;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#64748b;
}

.zendia-card-installment__main{
  display:flex;
  align-items:baseline;
  gap:3px;
  line-height:1;
}

.zendia-card-installment__main strong{
  font-size:18px;
  line-height:1;
  font-weight:800;
  color:#2563eb;
  white-space:nowrap;
}

.zendia-card-installment__per{
  font-size:10px;
  line-height:1;
  font-weight:600;
  color:#475569;
  white-space:nowrap;
}

.zendia-card-installment__bottom{
  font-size:8.5px;
  line-height:1.15;
  color:#64748b;
}

@media screen and (max-width:749px){
  .zendia-card-installment{
    margin-top:5px;
    padding:6px 8px;
    border-radius:7px;
  }

  .zendia-card-installment__top{
    font-size:8px;
  }

  .zendia-card-installment__main strong{
    font-size:16px;
    color:#2563eb;
  }

  .zendia-card-installment__per{
    font-size:9px;
  }

  .zendia-card-installment__bottom{
    font-size:8px;
  }
}

{%- comment -%}
  ZENDIA · Stato estetico A/B
  - Se esiste variante Shopify "Grado", la usa e aggiorna il trafiletto dinamico.
  - Se NON esiste variante "Grado", legge il metafield prodotto:
    custom.grado_estetico = A oppure B
{%- endcomment -%}

{%- assign grado_meta_raw = product.metafields.custom.grado_estetico.value | default: product.metafields.custom.grado_estetico | default: 'A' | strip | upcase -%}
{%- assign grado_meta = 'A' -%}

{%- if grado_meta_raw == 'B' or grado_meta_raw contains 'BUONO' or grado_meta_raw contains 'GRADO B' -%}
  {%- assign grado_meta = 'B' -%}
{%- endif -%}

<div 
  id="zx-grade-block-{{ product.id }}" 
  class="zx-grade-block"
  data-zx-meta-grade="{{ grado_meta }}"
>
  <div class="zx-grade-fallback" data-zx-fallback>
    <div class="zx-grade-static">
      <div class="zx-grade-static__lead">
        Stato estetico:
        <b>
          {%- if grado_meta == 'B' -%}
            Buono
          {%- else -%}
            Eccellente
          {%- endif -%}
        </b>
      </div>

      <div class="zx-grade-static__cards">
        <div class="zx-grade-static__card {% if grado_meta == 'B' %}is-off{% else %}is-on{% endif %}">
          <strong>Eccellente</strong>
          <small>Grado A</small>
        </div>

        <div class="zx-grade-static__card {% if grado_meta == 'B' %}is-on{% else %}is-off{% endif %}">
          <strong>Buono</strong>
          <small>Grado B</small>
        </div>
      </div>
    </div>
  </div>

  <div class="zx-grade-info" data-zx-grade-info>
    <div class="zx-grade-info__top">
      <span>Stato estetico: <b data-zx-grade-name></b></span>
    </div>
    <div data-zx-grade-desc></div>
  </div>
</div>

<style>
  /* =====================================================
     ZENDIA · Variante / Metafield Grado estetico
  ===================================================== */

  .zx-grade-block {
    --navy:#0B1E3F;
    --cyan:#00C2FF;
    --cyan-ink:#0086B3;
    --ink:#0B1E3F;
    --muted:#5B6B80;
    --line:#E2E9F1;
    --soft:#F1FAFF;
    --soft2:#F6F9FC;
    max-width:520px;
    margin:10px 0 16px;
    font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
    color:var(--ink);
  }

  .zx-grade-block * {
    box-sizing:border-box;
  }

  /* Nasconde fallback quando esiste variante Shopify */
  .zx-grade-block.has-variant .zx-grade-fallback {
    display:none;
  }

  /* Titolo variante Shopify */
  .zx-grade-picker legend,
  .zx-grade-picker .form__label {
    font-size:14px !important;
    font-weight:800 !important;
    color:#0B1E3F !important;
    margin-bottom:10px !important;
  }

  /* Contenitore variante Shopify */
  .zx-grade-picker {
    margin-bottom:10px !important;
  }

  /* Pulsanti variante Shopify - valori supportati */
  .zx-grade-picker input[type="radio"][value="A"] + label,
  .zx-grade-picker input[type="radio"][value="B"] + label,
  .zx-grade-picker input[type="radio"][value="Grado A"] + label,
  .zx-grade-picker input[type="radio"][value="Grado B"] + label,
  .zx-grade-picker input[type="radio"][value="Eccellente"] + label,
  .zx-grade-picker input[type="radio"][value="Buono"] + label {
    width:118px !important;
    min-width:118px !important;
    height:62px !important;
    border-radius:14px !important;
    border:1px solid #E2E9F1 !important;
    background:#fff !important;
    color:transparent !important;
    box-shadow:0 6px 16px rgba(11,30,63,.06) !important;
    display:inline-flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px !important;
    padding:9px 10px !important;
    margin:0 10px 10px 0 !important;
    position:relative !important;
    overflow:hidden !important;
    cursor:pointer !important;
    transition:all .18s ease !important;
    font-size:0 !important;
    line-height:1 !important;
  }

  /* Nasconde testo originale del tema */
  .zx-grade-picker input[type="radio"] + label span {
    display:none !important;
  }

  /* Testo principale */
  .zx-grade-picker input[type="radio"][value="A"] + label::before,
  .zx-grade-picker input[type="radio"][value="Grado A"] + label::before,
  .zx-grade-picker input[type="radio"][value="Eccellente"] + label::before {
    content:"Eccellente";
  }

  .zx-grade-picker input[type="radio"][value="B"] + label::before,
  .zx-grade-picker input[type="radio"][value="Grado B"] + label::before,
  .zx-grade-picker input[type="radio"][value="Buono"] + label::before {
    content:"Buono";
  }

  .zx-grade-picker input[type="radio"][value="A"] + label::before,
  .zx-grade-picker input[type="radio"][value="B"] + label::before,
  .zx-grade-picker input[type="radio"][value="Grado A"] + label::before,
  .zx-grade-picker input[type="radio"][value="Grado B"] + label::before,
  .zx-grade-picker input[type="radio"][value="Eccellente"] + label::before,
  .zx-grade-picker input[type="radio"][value="Buono"] + label::before {
    display:block !important;
    font-size:13px !important;
    font-weight:800 !important;
    color:#0B1E3F !important;
    line-height:1.1 !important;
    position:static !important;
    width:auto !important;
    height:auto !important;
    background:none !important;
    transform:none !important;
  }

  /* Sottotesto */
  .zx-grade-picker input[type="radio"][value="A"] + label::after,
  .zx-grade-picker input[type="radio"][value="Grado A"] + label::after,
  .zx-grade-picker input[type="radio"][value="Eccellente"] + label::after {
    content:"Grado A";
  }

  .zx-grade-picker input[type="radio"][value="B"] + label::after,
  .zx-grade-picker input[type="radio"][value="Grado B"] + label::after,
  .zx-grade-picker input[type="radio"][value="Buono"] + label::after {
    content:"Grado B";
  }

  .zx-grade-picker input[type="radio"][value="A"] + label::after,
  .zx-grade-picker input[type="radio"][value="B"] + label::after,
  .zx-grade-picker input[type="radio"][value="Grado A"] + label::after,
  .zx-grade-picker input[type="radio"][value="Grado B"] + label::after,
  .zx-grade-picker input[type="radio"][value="Eccellente"] + label::after,
  .zx-grade-picker input[type="radio"][value="Buono"] + label::after {
    display:block !important;
    font-size:10px !important;
    font-weight:600 !important;
    color:#5B6B80 !important;
    line-height:1.1 !important;
    position:static !important;
    width:auto !important;
    height:auto !important;
    background:none !important;
    transform:none !important;
  }

  /* Hover */
  .zx-grade-picker input[type="radio"][value="A"] + label:hover,
  .zx-grade-picker input[type="radio"][value="B"] + label:hover,
  .zx-grade-picker input[type="radio"][value="Grado A"] + label:hover,
  .zx-grade-picker input[type="radio"][value="Grado B"] + label:hover,
  .zx-grade-picker input[type="radio"][value="Eccellente"] + label:hover,
  .zx-grade-picker input[type="radio"][value="Buono"] + label:hover {
    border-color:#00C2FF !important;
    box-shadow:0 8px 22px rgba(0,194,255,.18) !important;
    transform:translateY(-1px) !important;
  }

  /* Selezionato */
  .zx-grade-picker input[type="radio"][value="A"]:checked + label,
  .zx-grade-picker input[type="radio"][value="B"]:checked + label,
  .zx-grade-picker input[type="radio"][value="Grado A"]:checked + label,
  .zx-grade-picker input[type="radio"][value="Grado B"]:checked + label,
  .zx-grade-picker input[type="radio"][value="Eccellente"]:checked + label,
  .zx-grade-picker input[type="radio"][value="Buono"]:checked + label {
    border-color:#00C2FF !important;
    background:#F1FAFF !important;
    box-shadow:0 0 0 1px #00C2FF, 0 8px 22px rgba(0,194,255,.16) !important;
  }

  .zx-grade-picker input[type="radio"]:checked + label::before,
  .zx-grade-picker input[type="radio"]:checked + label::after {
    color:#0086B3 !important;
  }

  /* Non disponibile */
  .zx-grade-picker input[type="radio"]:disabled + label,
  .zx-grade-picker input[type="radio"].disabled + label {
    opacity:.42 !important;
    background:#F6F9FC !important;
    border-color:#E2E9F1 !important;
    box-shadow:none !important;
    transform:none !important;
  }

  /* Fallback statico da metafield */
  .zx-grade-static__lead {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    color:#5B6B80;
    margin-bottom:8px;
  }

  .zx-grade-static__lead b {
    color:#0B1E3F;
  }

  .zx-grade-static__cards {
    display:flex;
    gap:8px;
    margin-bottom:10px;
  }

  .zx-grade-static__card {
    flex:1;
    text-align:center;
    border:1px solid #E2E9F1;
    border-radius:12px;
    padding:10px 8px;
    background:#fff;
    line-height:1.2;
    min-height:58px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
  }

  .zx-grade-static__card strong {
    font-size:13px;
    font-weight:800;
  }

  .zx-grade-static__card small {
    display:block;
    font-size:10px;
    color:#5B6B80;
    margin-top:3px;
  }

  .zx-grade-static__card.is-on {
    border-color:#00C2FF;
    background:#F1FAFF;
    box-shadow:0 0 0 1px #00C2FF, 0 8px 22px rgba(0,194,255,.16);
  }

  .zx-grade-static__card.is-on strong,
  .zx-grade-static__card.is-on small {
    color:#0086B3;
  }

  .zx-grade-static__card.is-off {
    color:#93A4B8;
  }

  /* Trafiletto spiegazione */
  .zx-grade-info {
    border:1px solid #00C2FF;
    border-left-width:3px;
    background:#F1FAFF;
    border-radius:10px;
    padding:11px 13px;
    font-size:12.5px;
    line-height:1.5;
    color:#0B1E3F;
  }

  .zx-grade-info__top {
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:4px;
    color:#5B6B80;
    font-size:13px;
  }

  .zx-grade-info__top b {
    color:#0B1E3F;
  }

  .zx-grade-info b {
    color:#0086B3;
  }

  @media screen and (max-width:749px) {
    .zx-grade-picker input[type="radio"][value="A"] + label,
    .zx-grade-picker input[type="radio"][value="B"] + label,
    .zx-grade-picker input[type="radio"][value="Grado A"] + label,
    .zx-grade-picker input[type="radio"][value="Grado B"] + label,
    .zx-grade-picker input[type="radio"][value="Eccellente"] + label,
    .zx-grade-picker input[type="radio"][value="Buono"] + label {
      width:112px !important;
      min-width:112px !important;
      height:60px !important;
    }
  }
</style>

<script>
  document.addEventListener('DOMContentLoaded', function () {
    var block = document.getElementById('zx-grade-block-{{ product.id }}');
    if (!block) return;

    var metaGrade = block.getAttribute('data-zx-meta-grade') || 'A';
    var info = block.querySelector('[data-zx-grade-info]');
    var nameEl = block.querySelector('[data-zx-grade-name]');
    var descEl = block.querySelector('[data-zx-grade-desc]');

    function normalizeGrade(value) {
      value = String(value || '').trim().toLowerCase();

      if (
        value === 'b' ||
        value === 'grado b' ||
        value === 'buono' ||
        value.indexOf('buono') !== -1
      ) {
        return 'B';
      }

      return 'A';
    }

    function setDescription(grade) {
      if (grade === 'B') {
        nameEl.textContent = 'Buono';
        descEl.innerHTML = '<b>Buono:</b> segni d\\'usura evidenti, senza crepe o rotture. Massimo risparmio. Funziona come nuovo.';
      } else {
        nameEl.textContent = 'Eccellente';
        descEl.innerHTML = '<b>Eccellente:</b> estetica pressoché perfetta, solo qualche segno minimo appena percettibile. Funziona come nuovo.';
      }
    }

    function findGradeFieldset() {
      var radios = Array.from(document.querySelectorAll('input[type="radio"]'));

      var gradeRadios = radios.filter(function (radio) {
        var grade = normalizeGrade(radio.value);
        var raw = String(radio.value || '').trim().toLowerCase();

        return (
          raw === 'a' ||
          raw === 'b' ||
          raw === 'grado a' ||
          raw === 'grado b' ||
          raw === 'eccellente' ||
          raw === 'buono'
        );
      });

      for (var i = 0; i < gradeRadios.length; i++) {
        var fieldset = gradeRadios[i].closest('fieldset') || gradeRadios[i].closest('.product-form__input');

        if (!fieldset) continue;

        var legend = fieldset.querySelector('legend, .form__label');
        var legendText = legend ? legend.textContent.trim().toLowerCase() : '';

        if (legendText.indexOf('grado') !== -1 || legendText.indexOf('stato estetico') !== -1) {
          return fieldset;
        }
      }

      return null;
    }

    var fieldset = findGradeFieldset();

    if (fieldset) {
      block.classList.add('has-variant');
      fieldset.classList.add('zx-grade-picker');

      var groupRadios = Array.from(fieldset.querySelectorAll('input[type="radio"]')).filter(function (radio) {
        var raw = String(radio.value || '').trim().toLowerCase();

        return (
          raw === 'a' ||
          raw === 'b' ||
          raw === 'grado a' ||
          raw === 'grado b' ||
          raw === 'eccellente' ||
          raw === 'buono'
        );
      });

      function updateFromVariant() {
        var checked = groupRadios.find(function (radio) {
          return radio.checked;
        });

        var grade = checked ? normalizeGrade(checked.value) : normalizeGrade(metaGrade);
        setDescription(grade);
      }

      groupRadios.forEach(function (radio) {
        radio.addEventListener('change', updateFromVariant);
      });

      updateFromVariant();
    } else {
      setDescription(normalizeGrade(metaGrade));
    }
  });
</script>