/** Shopify CDN: Minification failed

Line 3227:0 Expected "}" to go with "{"

**/

.hz-horizon {
  --px-mobile: 2rem;
  --spacing-section: 48px;
  --page-width: 160rem;
  --grid-desktop-horizontal-spacing: 2.4rem;
  --grid-desktop-vertical-spacing: 2.4rem;
  --grid-mobile-horizontal-spacing: 1.2rem;
  --grid-mobile-vertical-spacing: 1.2rem;
  --media-radius: 16px;
}

.hz-horizon .h3,
.hz-horizon h3:not(.card__heading):not(.text-size-custom),
.hz-horizon h2.h3 {
  font-size: calc(var(--font-heading-scale, 1) * 2.5rem) !important;
}
.hz-horizon .t3,
.hz-horizon .t3 p {
  font-size: 1.5rem !important;
}
@media only screen and (min-width: 750px) {
  .hz-horizon .h3,
  .hz-horizon h3:not(.card__heading):not(.text-size-custom),
  .hz-horizon h2.h3 {
    font-size: calc(var(--font-heading-scale, 1) * 3rem) !important;
  }
  .hz-horizon .t3,
  .hz-horizon .t3 p {
    font-size: 1.55rem !important;
  }
}
@media only screen and (min-width: 1100px) {
  .hz-horizon .h3,
  .hz-horizon h3:not(.card__heading):not(.text-size-custom),
  .hz-horizon h2.h3 {
    font-size: calc(var(--font-heading-scale, 1) * 3.4rem) !important;
  }
  .hz-horizon .t3,
  .hz-horizon .t3 p {
    font-size: 1.6rem !important;
  }
}

/* Digital `p{15px!important}` / `h3{20px!important}` 会压掉 Banner 副文案和自定义标题 */
.hz-horizon .t0,
.hz-horizon .t0 p { font-size: 1.85rem !important; }
.hz-horizon .t1,
.hz-horizon .t1 p { font-size: 1.7rem !important; }
.hz-horizon .t2,
.hz-horizon .t2 p { font-size: 1.6rem !important; }
.hz-horizon .t4,
.hz-horizon .t4 p { font-size: 1.4rem !important; }
.hz-horizon .t5,
.hz-horizon .t5 p { font-size: 1.3rem !important; }
.hz-horizon .t6,
.hz-horizon .t6 p { font-size: 1.2rem !important; }
.hz-horizon .text-size-custom {
  font-size: max(16px, calc(var(--font-heading-scale, 1) * calc(var(--custom-font-size) * 0.75))) !important;
}
@media only screen and (min-width: 750px) {
  .hz-horizon .t0,
  .hz-horizon .t0 p { font-size: 2rem !important; }
  .hz-horizon .t1,
  .hz-horizon .t1 p { font-size: 1.825rem !important; }
  .hz-horizon .t2,
  .hz-horizon .t2 p { font-size: 1.65rem !important; }
  .hz-horizon .t4,
  .hz-horizon .t4 p { font-size: 1.45rem !important; }
  .hz-horizon .t5,
  .hz-horizon .t5 p { font-size: 1.35rem !important; }
  .hz-horizon .t6,
  .hz-horizon .t6 p { font-size: 1.25rem !important; }
  .hz-horizon .text-size-custom {
    font-size: max(16px, calc(var(--font-heading-scale, 1) * calc(var(--custom-font-size) * 0.8))) !important;
  }
}
@media only screen and (min-width: 990px) {
  .hz-horizon .text-size-custom {
    font-size: calc(var(--font-heading-scale, 1) * var(--custom-font-size)) !important;
  }
}
@media only screen and (min-width: 1100px) {
  .hz-horizon .t0,
  .hz-horizon .t0 p { font-size: 2.2rem !important; }
  .hz-horizon .t1,
  .hz-horizon .t1 p { font-size: 1.9rem !important; }
  .hz-horizon .t2,
  .hz-horizon .t2 p { font-size: 1.7rem !important; }
  .hz-horizon .t4,
  .hz-horizon .t4 p { font-size: 1.5rem !important; }
  .hz-horizon .t5,
  .hz-horizon .t5 p { font-size: 1.4rem !important; }
  .hz-horizon .t6,
  .hz-horizon .t6 p { font-size: 1.3rem !important; }
}

/* Product card titles: Horizon t3, not Digital/global h3 20px */
.hz-horizon .product-card h3.card__heading,
.hz-horizon .product-card .card__heading {
  font-size: 1.5rem !important;
  font-weight: 500 !important;
  line-height: 1.35;
}
.hz-horizon .product-card .card-information .price {
  font-size: 1.5rem !important;
}
@media only screen and (min-width: 750px) {
  .hz-horizon .grid--6-col-desktop .product-card h3.card__heading,
  .hz-horizon .grid--6-col-desktop .product-card .card__heading,
  .hz-horizon .grid--6-col-desktop .card-information .price {
    font-size: 1.4rem !important;
  }
}

.hz-horizon .object-contain {
  object-fit: contain !important;
}

.hz-horizon .responsive-card-padding {
  --card-padding: max(2.5rem, calc(var(--responsive-card-padding, 2.5rem) * 0.5));
}
.hz-horizon .card-padding {
  padding: var(--card-padding, 2.5rem);
}
@media screen and (min-width: 750px) {
  .hz-horizon .responsive-card-padding {
    --card-padding: var(--responsive-card-padding, 3rem);
  }
}

/* Custom section heights (copied from Horizon base.css; required by slideshow + image-with-text) */
@media screen and (max-width: 450px) {
  .hz-horizon .section-height-responsive--mobile {
    min-height: var(--mobile-height);
  }
}

@media screen and (min-width: 449px) and (max-width: 749px) {
  .hz-horizon .section-height-responsive--mobile {
    min-height: calc(var(--mobile-height) + 15vw);
  }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .hz-horizon .section-height-responsive--desktop {
    min-height: calc(var(--desktop-height) * 0.9);
  }
}

@media screen and (min-width: 990px) {
  .hz-horizon .section-height-responsive--desktop {
    min-height: var(--desktop-height);
  }
}

.hz-horizon .flex {
  display: flex;
}

.hz-horizon slideshow-component {
  display: block;
  width: 100%;
}

.hz-horizon .banner {
  display: flex;
  position: relative;
  flex-direction: column;
}

.hz-horizon .banner__media {
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
.hz-horizon{
  --alpha-button-background: 1;
  --alpha-button-border: 1;
  --alpha-link: 1;
  --tap-target: 44px;
  --tap-target-small: 24px;
}

.hz-horizon .product-card-wrapper .card, .hz-horizon .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);
}

.hz-horizon .collection-card-wrapper .card, .hz-horizon .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);
}

.hz-horizon .article-card-wrapper .card, .hz-horizon .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: 'left';
}

.hz-horizon .article-card-wrapper .article-card--featured{
  --image-padding: 0rem;
}

.hz-horizon .contains-content-container, .hz-horizon .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);
}

.hz-horizon .contains-media, .hz-horizon .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 */

.hz-horizon .no-js:not(html){
  display: none !important;
}

.hz-horizon html.no-js .no-js:not(html){
  display: block !important;
}

.hz-horizon .no-js-inline{
  display: none !important;
}

.hz-horizon html.no-js .no-js-inline{
  display: inline-block !important;
}

.hz-horizon html.no-js .no-js-hidden, .hz-horizon .js .js-hidden{
  display: none !important;
}

.hz-horizon .page-width{
  max-width: var(--page-width);
  margin: 0 auto;
  padding: 0 var(--px-mobile);
}

.hz-horizon .page-width-desktop{
  padding: 0;
  margin: 0 auto;
}

.hz-horizon .utility-bar__grid.page-width{
  padding-left: 3rem;
  padding-right: 3rem;
}

@media screen and (min-width: 750px) {
  .hz-horizon .page-width{
    padding: 0 5rem;
  }

  .hz-horizon .header.page-width, .hz-horizon .utility-bar__grid.page-width{
    padding-left: 5rem;
    padding-right: 5rem;
  }

  .hz-horizon .page-width--narrow, .hz-horizon .page-width--narrowest{
    padding: 0 9rem;
  }

  .hz-horizon .page-width-desktop{
    padding: 0;
  }

  .hz-horizon .page-width-tablet{
    padding: 0 5rem;
  }
}

@media screen and (min-width: 990px) {
  .hz-horizon .page-width--narrow{
    max-width: 126rem;
    padding: 0;
  }

  .hz-horizon .page-width--narrowest{
    max-width:  47.6rem;
    padding: 0;
  }

  .hz-horizon .page-width--wide{
    max-width: none;
  }

  .hz-horizon .page-width-desktop{
    max-width: var(--page-width);
    padding: 0 5rem;
  }
}

.hz-horizon .isolate{
  position: relative;
  z-index: 0;
}

.hz-horizon .section__inner{
  padding-top: var(--spacing-section);
  padding-bottom: var(--spacing-section);
}

.hz-horizon sup{
  font-size: max(0.5em, 16px);
  vertical-align: super;
  line-height: 0;
}

.hz-horizon blockquote {
  font-style: italic;
  color: rgba(var(--color-foreground), 0.75);
  border-left: 0.2rem solid rgba(var(--color-foreground), 0.2);
  padding-left: 1rem;
}

.caption{
  font-size: 1.7rem;
  --c-font-size: 1.7rem;
  letter-spacing: 0.07rem;
  line-height: calc(1 + 0.7 / var(--font-body-scale));
  font-weight:600;
}
.hz-horizon .caption a{
  color:#191919 !important;
}
@media screen and (min-width: 750px) {
  .hz-horizon blockquote{
    padding-left: 1.5rem;
  }
}

.hz-horizon .caption-with-letter-spacing{
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: calc(1 + 0.5 / var(--font-body-scale));
  text-transform: uppercase;
}

.hz-horizon .caption-large, .hz-horizon .customer .field input, .hz-horizon .customer select, .hz-horizon .field__input, .hz-horizon .form__label, .hz-horizon .select__select{
  font-size: 1.3rem;
  line-height: calc(1 + 0.5 / var(--font-body-scale));
}

.hz-horizon .color-foreground{
  color: rgb(var(--color-foreground)) !important;
}

.hz-horizon .color-background-transparent{
  background: transparent !important;
}

@media screen and (max-width: 749px) {
  .hz-horizon .small-hide, .hz-horizon .hidden-xs{
    display: none !important;
  }
}

@media screen and (min-width: 750px) {
  .hz-horizon .visible-xs{
    display: none !important;
  }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .hz-horizon .medium-hide{
    display: none !important;
  }
}

@media screen and (max-width: 989px) {
  .hz-horizon .visible-md{
    display: none !important;
  }
}

@media screen and (min-width: 990px) {
  .hz-horizon .large-up-hide, .hz-horizon .hidden-md{
    display: none !important;
  }
}


/* COMPONENT-GRID */
.hz-horizon .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) {
  .hz-horizon .grid{
    column-gap: var(--grid-desktop-horizontal-spacing);
    row-gap: var(--grid-desktop-vertical-spacing);
  }
}

.hz-horizon .grid:last-child{
  margin-bottom: 0;
}

.hz-horizon .grid--central-loners .grid__item:only-child{
  width: 100%;
  max-width: 100%;
}

.hz-horizon .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) {
  .hz-horizon .grid__item{
    width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
    max-width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }

  .hz-horizon .grid--central-loners .grid__item:only-child{
    width: 100%;
    max-width: 100%;
  }
}

.hz-horizon .grid--gapless.grid{
  column-gap: 0;
  row-gap: 0;
}

.hz-horizon .grid--1-col .grid__item{
  max-width: 100%;
  width: 100%;
}

.hz-horizon .grid--3-col .grid__item{
  width: calc(33.33% - var(--grid-mobile-horizontal-spacing) * 2 / 3);
}

@media screen and (min-width: 550px) {
  .hz-horizon .grid--3-col .grid__item{
    width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
  }
}

.hz-horizon .grid--2-col .grid__item{
  width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2);
}

.hz-horizon .grid-2{
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(2,minmax(0,1fr));
}

.hz-horizon .grid-span-2{
  grid-column: span 2 / span 2;
}

@media screen and (min-width: 550px) {
  .hz-horizon .grid-2{
    gap: 2rem;
  }

  .hz-horizon .grid-span-1-large{
    grid-column: span 1 / span 1;
  }

  .hz-horizon .grid--2-col .grid__item{
    width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }

  .hz-horizon .grid--4-col-tablet .grid__item{
    width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
  }

  .hz-horizon .grid--3-col-tablet .grid__item{
    width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
  }

  .hz-horizon .grid--2-col-tablet .grid__item{
    width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }
}

@media screen and (max-width: 749px) {
  .hz-horizon .grid--1-col-tablet-down .grid__item{
    width: 100%;
    max-width: 100%;
  }

  .hz-horizon .slider--tablet.grid--peek{
    margin: 0;
    width: 100%;
  }

  .hz-horizon .slider--tablet.grid--peek .grid__item{
    box-sizing: content-box;
    margin: 0;
  }

  .hz-horizon .slider.slider--tablet .scroll-trigger.animate--slide-in, .hz-horizon .slider.slider--mobile .scroll-trigger.animate--slide-in{
    animation: none;
    opacity: 1;
    transform: inherit;
  }

  .hz-horizon .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: 749px) {
  .hz-horizon .grid--1-col-tablet-down .grid__item{
    width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }
}

@media screen and (min-width: 750px) {
  .hz-horizon .grid--8-col-desktop:not(.grid--scaled) .grid__item{
    width: calc(12.5% - var(--grid-desktop-horizontal-spacing) * 7 / 8);
    max-width: calc(12.5% - var(--grid-desktop-horizontal-spacing) * 7 / 8);
  }

  .hz-horizon .grid--7-col-desktop:not(.grid--scaled) .grid__item{
    width: calc(14.2857% - var(--grid-desktop-horizontal-spacing) * 6 / 7);
    max-width: calc(14.2857% - var(--grid-desktop-horizontal-spacing) * 6 / 7);
  }

  .hz-horizon .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);
  }

  .hz-horizon .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);
  }

  .hz-horizon .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);
  }

  .hz-horizon .grid--3-col-desktop:not(.grid--scaled-large) .grid__item, .hz-horizon .grid--4-col-desktop.grid--scaled .grid__item, .hz-horizon .grid--5-col-desktop.grid--scaled .grid__item, .hz-horizon .grid--6-col-desktop.grid--scaled .grid__item, .hz-horizon .grid--7-col-desktop.grid--scaled .grid__item, .hz-horizon .grid--8-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);
  }

  .hz-horizon .grid--3-col-desktop .grid__item.grid--scaled-large, .hz-horizon .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) {
  .hz-horizon .grid--4-col-desktop.grid--scaled .grid__item, .hz-horizon .grid--5-col-desktop.grid--scaled .grid__item, .hz-horizon .grid--6-col-desktop.grid--scaled .grid__item, .hz-horizon .grid--7-col-desktop.grid--scaled .grid__item, .hz-horizon .grid--8-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) {
  .hz-horizon .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);
  }

  .hz-horizon .grid--8-col-desktop.grid--scaled .grid__item{
    width: calc(12.5% - var(--grid-desktop-horizontal-spacing) * 7 / 8);
    max-width: calc(12.5% - var(--grid-desktop-horizontal-spacing) * 7 / 8);
  }

  .hz-horizon .grid--7-col-desktop.grid--scaled .grid__item{
    width: calc(14.2857% - var(--grid-desktop-horizontal-spacing) * 6 / 7);
    max-width: calc(14.2857% - var(--grid-desktop-horizontal-spacing) * 6 / 7);
  }

  .hz-horizon .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);
  }

  .hz-horizon .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) {
  .hz-horizon .grid--1-col-desktop{
    flex: 0 0 100%;
    max-width: 100%;
  }

  .hz-horizon .grid--1-col-desktop .grid__item{
    width: 100%;
    max-width: 100%;
  }
}

@media screen and (max-width: 549px) {
  .hz-horizon .grid--peek .grid__item{
    min-width: 35%;
  }

  .hz-horizon .grid--peek.slider .grid__item:first-of-type{
    margin-left: var(--px-mobile);
  }

  /* Fix to show some space at the end of our sliders in all browsers */
  .hz-horizon .grid--peek.slider:after{
    margin-left: calc(-1 * var(--grid-mobile-horizontal-spacing));
  }

  .hz-horizon .grid--2-col-tablet-down .grid__item{
    width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2);
  }

  .hz-horizon .slider--tablet.grid--peek.grid--2-col-tablet-down .grid__item, .hz-horizon .grid--peek .grid__item{
    width: calc(50% - var(--grid-mobile-horizontal-spacing) - 2rem);
  }

  .hz-horizon .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));
  }

  .hz-horizon .multicolumn .slider--tablet.grid--peek.grid--1-col-tablet-down .grid__item{
    width: calc(100% - var(--grid-mobile-horizontal-spacing) - 5rem);
  }

  .hz-horizon .grid--1-col-tablet-down .icons-with-text__text-wrapper{
    flex-basis: 170px;
  }

  .hz-horizon .grid--1-col-tablet-down .promo-card--image .promo-image{
    min-height: 140vw;
  }
}

@media screen and (min-width: 550px) and (max-width: 749px) {
  .hz-horizon .slider--tablet.grid--peek .grid__item{
    width: calc(25% - var(--grid-desktop-horizontal-spacing) - 3rem);
  }

  .hz-horizon .slider--tablet.grid--peek.grid--3-col-tablet .grid__item{
    width: calc(33.33% - var(--grid-desktop-horizontal-spacing) - 3rem);
  }

  .hz-horizon .slider--tablet.grid--peek.grid--2-col-tablet .grid__item, .hz-horizon .slider--tablet.grid--peek.grid--2-col-tablet-down .grid__item{
    width: calc(50% - var(--grid-desktop-horizontal-spacing) - 3rem);
  }

  .hz-horizon .slider--tablet.grid--peek .grid__item:first-of-type{
    margin-left: var(--px-mobile);
  }

  .hz-horizon .grid--1-col-tablet-down.grid--peek .grid__item, .hz-horizon .grid--2-col-tablet-down .grid__item{
    width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }

  .hz-horizon .grid--1-col-tablet-down.grid--peek .grid__item{
    width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2);
  }

  .hz-horizon .grid--1-col-tablet-down.grid--peek .grid__item{
    width: calc(50% - var(--grid-mobile-horizontal-spacing) - 3rem);
  }
}

.hz-horizon .horizontal-scroll{
  overflow-x: auto;
  position: relative;
  -webkit-overflow-scrolling: touch;
}

.hz-horizon .horizontal-scroll::-webkit-scrollbar{
  display: none;
}

@media screen and (max-width: 749px) {
  .hz-horizon .section-grid .grid__item:only-child{
    flex: 0 0 100%;
    max-width: 100%;
  }

  .hz-horizon .horizontal-scroll{
    margin-right: calc(var(--px-mobile) * -1);
    padding-right: var(--px-mobile);
  }
}

@media screen and (min-width: 750px) {
  .hz-horizon .section-grid-wrapper--full-width slider-component:not(.slider-component-desktop){
    padding: 0 var(--px-mobile);
    max-width: none;
  }
}

@media screen and (max-width: 989px) {
  .hz-horizon .section-grid .slider.slider--tablet{
    margin-bottom: var(--px-mobile);
  }

  .hz-horizon .section-grid .slider--tablet.product-grid{
    scroll-padding-left: var(--px-mobile);
  }
}

/* COMPONENT-FADE FULL WIDTH ANIMATION */
.hz-horizon full-width-animate{
  display: block;
  transition: clip-path 0.2s ease;
}

@media screen and (min-width: 750px) {
  .hz-horizon full-width-animate .banner__box{
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}

/* COMPONENT-FADE TRUNCATOR */
.hz-horizon .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 */
}

.hz-horizon .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;
}

.hz-horizon .content-truncator__wrapper.expanded, .hz-horizon .tab-active .content-truncator__wrapper{
  max-height: var(--max-content-height, 2000px) !important;
  mask-image: none;
  -webkit-mask-image: none;
}

.hz-horizon .content-truncator__wrapper.expanded + .content-truncator__button, .hz-horizon .tab-active .content-truncator__button{
  max-height: 0;
  opacity: 0;
  padding: 0;
  visibility: hidden;
}

/* COMPONENT-MEDIA */
.hz-horizon .media{
  display: block;
  position: relative;
  overflow: hidden;
}

.hz-horizon .hover-zoom{
  overflow: hidden;
}

.hz-horizon .hover-zoom img{
  transition: transform var(--duration-long) ease;

}

.hz-horizon .media--landscape_wide{
  padding-bottom: 56.25%;
}

.hz-horizon .media--cropped{
  padding-bottom: 56%;
}

.hz-horizon .media--16-9{
  padding-bottom: 56.25%;
}

.hz-horizon .media--circle{
  padding-bottom: 100%;
  border-radius: 50%;
}

.hz-horizon .media.media--hover-effect > img + img:not(.swatch-hover-image){
  opacity: 0;
}

@media screen and (min-width: 990px) {
  .hz-horizon .media--cropped{
    padding-bottom: 63%;
  }
}

.hz-horizon deferred-media{
  display: block;
}

/* COMPONENT-BUTTON */
.hz-horizon .button, .hz-horizon .shopify-challenge__button, .hz-horizon .customer button, .hz-horizon button.shopify-payment-button__button--unbranded, .hz-horizon .shopify-payment-button [role='button'], .hz-horizon .cart__dynamic-checkout-buttons [role='button'], .hz-horizon .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 */
.hz-horizon .button-with-icon{
  display: flex;
  position: relative;
  align-items: center;
  gap: 0.5em;
}

.hz-horizon .button-with-icon .icon{
  width: 1.3em;
  position: absolute;
  margin-top: 1px;
}

.hz-horizon .button--full-width.button-with-icon .icon{
  position: static;
  margin-top: 0;
}

.hz-horizon .button--full-width.button-with-icon:not(.button--full-width-icon-right) > span:not(.loading__spinner){
  padding-right: 0.8rem;
}

.hz-horizon .button--full-width.button--full-width-icon-right > span{
  padding-left: 0.8rem;
}

.hz-horizon .link.button-with-icon{
  display: inline-flex;
}

.hz-horizon .button--primary.button-with-icon .icon{
  --color-icon: var(--color-button-text);
}

.hz-horizon .button--secondary.button-with-icon .icon{
  --color-icon: var(--color-secondary-button-text);
}

.hz-horizon .link.button-with-icon .icon{
  --color-icon: var(--color-link);
}

.hz-horizon .button-with-icon--right{
  padding-right: 3.4em !important;
}

.hz-horizon .button-with-icon--right .icon{
  right: 1.4em;
}

.hz-horizon .link.button-with-icon--right{
  padding-right: 1.5em !important;
}

.hz-horizon .link.button-with-icon--right .icon{
  right: 0;
}

.hz-horizon .button-with-icon--left{
  padding-left: 3.4em !important;
}

.hz-horizon .button-with-icon--left .icon{
  left: 1.4em;
}

.hz-horizon .link.button-with-icon--left{
  padding-left: 1.5em !important;
}

.hz-horizon .link.button-with-icon--left .icon{
  left: 0;
}

/* COMPONENT-BUTTONS OVER MEDIA */
.hz-horizon .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);
}

.hz-horizon .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;
}

.hz-horizon .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;
}

.hz-horizon .shopify-payment-button__button--branded{
  z-index: auto;
}

.hz-horizon .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));
}

.hz-horizon .button, .hz-horizon .button-label, .hz-horizon .shopify-challenge__button, .hz-horizon .customer button, .hz-horizon 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;
}

.hz-horizon .un-underlined-link {
  text-decoration: none !important;
  text-decoration-color: transparent !important;
  border-bottom: 0;
}
.hz-horizon .un-underlined-link:hover {
  text-decoration: none !important;
}

.hz-horizon .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) {
  .hz-horizon .button, .hz-horizon .button-label, .hz-horizon .shopify-challenge__button, .hz-horizon .customer button, .hz-horizon button.shopify-payment-button__button--unbranded{
    padding: 1.2em 2.2em;
  }

  .hz-horizon .shopify-payment-button .shopify-payment-button__button [role='button']{
    padding-top: 1.2em !important;
    padding-bottom: 1.2em !important;
  }
}

.hz-horizon .button--primary{
  background-image: var(--color-button-gradient, none);
}

.hz-horizon button.shopify-payment-button__button--unbranded:hover:not([disabled]){
  background-color: rgba(var(--color-button), var(--alpha-button-background));
}

.hz-horizon .button--secondary{
  --color-button: var(--color-button-secondary);
  --color-button-text: var(--color-button-secondary-text);
  background-color: rgba(var(--color-button-secondary), 1);
  color: rgb(var(--color-button-secondary-text));
}

.hz-horizon .button--secondary:hover{
  --color-button: var(--color-button-secondary-hover);
  --color-button-text: var(--color-button-secondary-text-hover);
  background-color: rgb(var(--color-button-secondary-hover));
  color: rgb(var(--color-button-secondary-text-hover));
}

.hz-horizon .button--tertiary{
  --color-button: var(--color-secondary-button);
  --color-button-text: var(--color-secondary-button-text);
  background-color: transparent;
}

.hz-horizon .button--tertiary{
  --alpha-button-background: 0;
  --alpha-button-border: 0.2;
  background-color: transparent;
}

.hz-horizon .button:after, .hz-horizon .shopify-challenge__button:after, .hz-horizon .customer button:after, .hz-horizon .shopify-payment-button__button--unbranded:after{
  /* Button border */
  content: '';
  position: absolute;
  top: var(--buttons-border-width);
  right: var(--buttons-border-width);
  bottom: var(--buttons-border-width);
  left: 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;
}

.hz-horizon .button--primary::after{
  box-shadow: none;
}

.hz-horizon .button--secondary:after{
  box-shadow: none;
}

.hz-horizon .button::selection, .hz-horizon .shopify-challenge__button::selection, .hz-horizon .customer button::selection{
  background-color: rgba(var(--color-button-text), 0.3);
}

.hz-horizon .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);
}

.hz-horizon .button--small{
  padding: 1.2rem 2.6rem;
}

/* TAG BUTTON STYLES */
.hz-horizon .tag-button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 2rem;
  padding: 0.4rem 1rem;
  font-weight: 500;
  text-decoration: none;
  transition: all var(--duration-medium, 0.3s) ease;
  cursor: pointer;
  white-space: nowrap;
  line-height: 1.2;
}

/* 无链接时仅展示样式，非可点击链接 */
.hz-horizon .tag-button.tag-button--no-link{
  cursor: default;
}

.hz-horizon .tag-button.tag-button--no-link.tag-button--primary:hover{
  background-color: #007bff;
  color: #ffffff;
}

.hz-horizon .tag-button.tag-button--no-link.tag-button--secondary:hover{
  background-color: #6c757d;
  color: #ffffff;
}

.hz-horizon .tag-button.tag-button--no-link.tag-button--accent:hover{
  background-color: #28a745;
  color: #ffffff;
}

.hz-horizon .tag-button--primary{
  background-color: #007bff;
  color: #ffffff;
}

.hz-horizon .tag-button--primary:hover{
  background-color: #0056b3;
  color: #ffffff;
  text-decoration: none;
}

.hz-horizon .tag-button--secondary{
  background-color: #6c757d;
  color: #ffffff;
}

.hz-horizon .tag-button--secondary:hover{
  background-color: #545b62;
  color: #ffffff;
  text-decoration: none;
}

.hz-horizon .tag-button--accent{
  background-color: #28a745;
  color: #ffffff;
}

.hz-horizon .tag-button--accent:hover{
  background-color: #1e7e34;
  color: #ffffff;
  text-decoration: none;
}

/* Tag button size variations */
.hz-horizon .tag-button.t7{
  padding: 0.3rem 0.8rem;
  font-size: 1.15rem;
}

.hz-horizon .tag-button.t6{
  padding: 0.4rem 1rem;
  font-size: 1.2rem;
}

.hz-horizon .tag-button.t5{
  padding: 0.5rem 1.2rem;
  font-size: 1.3rem;
}

.hz-horizon .tag-button.t4{
  padding: 0.6rem 1.4rem;
  font-size: 1.4rem;
}

/* Mobile responsive adjustments */
@media screen and (max-width: 749px) {
  .tag-button {
    padding: 0.3rem 0.8rem;
  }
  
  .tag-button.t7 {
    padding: 0.2rem 0.6rem;
    font-size: 1rem;
  }

/* 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;
  }
}

.hz-horizon .ratio {
  display: flex;
  position: relative;
  align-items: stretch;
}

.hz-horizon .ratio::before {
  content: '';
  width: 0;
  height: 0;
  padding-bottom: var(--ratio-percent-xs, var(--ratio-percent));
}

@media screen and (min-width: 750px) {
  .hz-horizon .ratio::before {
    padding-bottom: var(--ratio-percent);
  }

  .hz-horizon .md\:ratio {
    display: flex;
    position: relative;
    align-items: stretch;
  }

  .hz-horizon .md\:ratio::before {
    padding-bottom: var(--ratio-percent);
  }
}

.pt-0 {
  padding-top: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-1 {
  padding-top: 1rem;
}

.pt-2 {
  padding-top: 2rem;
}

.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-s02 {
  padding-top: calc(var(--spacing-section) * 0.2) !important;
}
.pt-s025 {
  padding-top: calc(var(--spacing-section) * 0.25) !important;
}
.pt-s03 {
  padding-top: calc(var(--spacing-section) * 0.3) !important;
}
.pt-s05 {
  padding-top: calc(var(--spacing-section) * 0.5) !important;
}
.pb-s02 {
  padding-bottom: calc(var(--spacing-section) * 0.2) !important;
}
.pb-s025 {
  padding-bottom: calc(var(--spacing-section) * 0.25) !important;
}
.pb-s03 {
  padding-bottom: calc(var(--spacing-section) * 0.3) !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-s08 {
  padding-top: calc(var(--spacing-section) * 0.8) !important;
}

.pb-s08 {
  padding-bottom: calc(var(--spacing-section) * 0.8) !important;
}

.pt-s {
  padding-top: var(--spacing-section) !important;
}

.pb-s {
  padding-bottom: var(--spacing-section) !important;
}

.pt-s12 {
  padding-top: calc(var(--spacing-section) * 1.2) !important;
}

.pb-s12 {
  padding-bottom: calc(var(--spacing-section) * 1.2) !important;
}

.pt-s15 {
  padding-top: calc(var(--spacing-section) * 1.5) !important;
}

.pb-s15 {
  padding-bottom: calc(var(--spacing-section) * 1.5) !important;
}

.pt-s18 {
  padding-top: calc(var(--spacing-section) * 1.8) !important;
}

.pb-s18 {
  padding-bottom: calc(var(--spacing-section) * 1.8) !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-left: 0;
}

.pl-05 {
  padding-left: 0.5rem;
}

.pl-1 {
  padding-left: 1rem;
}

.pl-15 {
  padding-left: 1.5rem;
}

.pl-2 {
  padding-left: 2rem;
}

.pl-3 {
  padding-left: 3rem;
}

.pr-1 {
  padding-right: 1rem;
}

.pr-15 {
  padding-right: 1.5rem;
}

.pr-2 {
  padding-right: 2rem;
}

.pr-3 {
  padding-right: 3rem;
}

.pr-0 {
  padding-right: 0;
}

.m-0 {
  margin: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.ml-05 {
  margin-left: 0.5rem;
}

.ml-auto {
  margin-left: auto;
}

.mr-auto {
  margin-right: auto;
}

.mr-0 {
  margin-right: 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;
}

.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: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-balance {
    text-wrap: auto;
}

.responsive-gap {
  gap: max(calc(var(--responsive-gap) * 0.5), 1rem);
}

@media screen and (max-width: 749px) {
  .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;
    left: 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\:mb-6 {
    margin-bottom: 4.8rem;
  }

  .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-left: 0;
  }

  .md\:pr-0 {
    padding-right: 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: left;
  }

  .md\:text-center {
    text-align: center;
  }

  .md\:text-right {
    text-align: right;
  }

  .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-left: 0;
  }

  .md\:pr-0 {
    padding-right: 0;
  }
}

@media screen and (max-width: 989px) {
  .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;
  left: 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: 749px) {
  .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 {
  left: 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; }
.t34 { 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; }
}

/* Text block: separate mobile/desktop font size (Image banner Text) */
.text-size-mobile-t0 { font-size: 1.85rem; --c-font-size: 1.85rem; }
.text-size-mobile-t1 { font-size: 1.7rem; --c-font-size: 1.7rem; }
.text-size-mobile-t2 { font-size: 1.6rem; --c-font-size: 1.6rem; }
.text-size-mobile-t3 { font-size: 1.5rem; --c-font-size: 1.5rem; }
.text-size-mobile-t4 { font-size: 1.4rem; --c-font-size: 1.4rem; }
.text-size-mobile-t5 { font-size: 1.3rem; --c-font-size: 1.3rem; }
.text-size-mobile-t6 { font-size: 1.2rem; --c-font-size: 1.2rem; }

@media only screen and (min-width: 750px) {
  .text-size-mobile-t0, .text-size-mobile-t1, .text-size-mobile-t2,
  .text-size-mobile-t3, .text-size-mobile-t4, .text-size-mobile-t5, .text-size-mobile-t6 {
    font-size: inherit;
    --c-font-size: inherit;
  }
  .text-size-desktop-t0 { font-size: 2rem; --c-font-size: 2rem; }
  .text-size-desktop-t1 { font-size: 1.825rem; --c-font-size: 1.825rem; }
  .text-size-desktop-t2 { font-size: 1.65rem; --c-font-size: 1.65rem; }
  .text-size-desktop-t3 { font-size: 1.55rem; --c-font-size: 1.55rem; }
  .text-size-desktop-t4 { font-size: 1.45rem; --c-font-size: 1.45rem; }
  .text-size-desktop-t5 { font-size: 1.35rem; --c-font-size: 1.35rem; }
  .text-size-desktop-t6 { font-size: 1.25rem; --c-font-size: 1.25rem; }
}

@media only screen and (min-width: 1100px) {
  .text-size-desktop-t0 { font-size: 2.2rem; --c-font-size: 2.2rem; }
  .text-size-desktop-t1 { font-size: 1.9rem; --c-font-size: 1.9rem; }
  .text-size-desktop-t2 { font-size: 1.7rem; --c-font-size: 1.7rem; }
  .text-size-desktop-t3 { font-size: 1.6rem; --c-font-size: 1.6rem; }
  .text-size-desktop-t4 { font-size: 1.5rem; --c-font-size: 1.5rem; }
  .text-size-desktop-t5 { font-size: 1.4rem; --c-font-size: 1.4rem; }
  .text-size-desktop-t6 { font-size: 1.3rem; --c-font-size: 1.3rem; }
}

/* Heading block: separate mobile/desktop font size (Image banner Heading) */
.heading-size-mobile-hxl { font-size: calc(var(--font-heading-scale) * 5.2rem); }
.heading-size-mobile-h0 { font-size: calc(var(--font-heading-scale) * 4.2rem); }
.heading-size-mobile-h1 { font-size: calc(var(--font-heading-scale) * 3.4rem); }
.heading-size-mobile-h2 { font-size: calc(var(--font-heading-scale) * 2.8rem); }
.heading-size-mobile-h3 { font-size: calc(var(--font-heading-scale) * 2.5rem); }
.heading-size-mobile-h4 { font-size: calc(var(--font-heading-scale) * 2.15rem); }
.heading-size-mobile-h5 { font-size: calc(var(--font-heading-scale) * 1.9rem); }
.heading-size-mobile-h6 { font-size: calc(var(--font-heading-scale) * 1.7rem); }

@media only screen and (min-width: 750px) {
  .heading-size-mobile-hxl, .heading-size-mobile-h0, .heading-size-mobile-h1,
  .heading-size-mobile-h2, .heading-size-mobile-h3, .heading-size-mobile-h4,
  .heading-size-mobile-h5, .heading-size-mobile-h6 {
    font-size: inherit;
  }
  .heading-size-desktop-hxl { font-size: calc(var(--font-heading-scale) * 6.6rem); }
  .heading-size-desktop-h0 { font-size: calc(var(--font-heading-scale) * 5.4rem); }
  .heading-size-desktop-h1 { font-size: calc(var(--font-heading-scale) * 4.2rem); }
  .heading-size-desktop-h2 { font-size: calc(var(--font-heading-scale) * 3.6rem); }
  .heading-size-desktop-h3 { font-size: calc(var(--font-heading-scale) * 3rem); }
  .heading-size-desktop-h4 { font-size: calc(var(--font-heading-scale) * 2.4rem); }
  .heading-size-desktop-h5 { font-size: calc(var(--font-heading-scale) * 2rem); }
  .heading-size-desktop-h6 { font-size: calc(var(--font-heading-scale) * 1.7rem); }
  .heading-size-desktop-custom { font-size: max(16px, calc(var(--font-heading-scale) * calc(var(--custom-font-size) * 0.8))); }
}

@media only screen and (min-width: 1100px) {
  .heading-size-desktop-hxl { font-size: calc(var(--font-heading-scale) * 7.6rem); }
  .heading-size-desktop-h0 { font-size: calc(var(--font-heading-scale) * 6.4rem); }
  .heading-size-desktop-h1 { font-size: calc(var(--font-heading-scale) * 5.2rem); }
  .heading-size-desktop-h2 { font-size: calc(var(--font-heading-scale) * 4rem); }
  .heading-size-desktop-h3 { font-size: calc(var(--font-heading-scale) * 3.4rem); }
  .heading-size-desktop-h4 { font-size: calc(var(--font-heading-scale) * 2.8rem); }
  .heading-size-desktop-h5 { font-size: calc(var(--font-heading-scale) * 2.2rem); }
  .heading-size-desktop-h6 { font-size: calc(var(--font-heading-scale) * 1.8rem); }
}

@media only screen and (min-width: 990px) {
  .heading-size-desktop-custom { font-size: calc(var(--font-heading-scale) * var(--custom-font-size)); }
}

.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-left: max(calc(var(--responsive-padding-x) * 0.5), 3.5rem);
  padding-right: 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-left: max(calc(var(--responsive-padding-x) * 0.4), 3.5rem);
  padding-right: 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-left: max(calc(var(--responsive-padding-x) * 0.4), 3.5rem);
    padding-right: 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-left: max(calc(var(--responsive-padding-x) * 0.75), 3.5rem);
    padding-right: 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-left: var(--responsive-padding-x);
    padding-right: 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-left: calc(var(--responsive-padding-x) * 0.7);
    padding-right: 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-left: var(--responsive-padding-x);
    padding-right: 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: 749px) {
  .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-top-left-radius: calc(var(--media-radius) - var(--media-border-width));
    border-bottom-left-radius: calc(var(--media-radius) - var(--media-border-width));
  }

  .is-standard-color-scheme .banner--two-images:not(.banner--stacked) .banner__media-right-half {
    border-top-right-radius: calc(var(--media-radius) - var(--media-border-width));
    border-bottom-right-radius: calc(var(--media-radius) - var(--media-border-width));
  }
}

.banner__media {
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}

.banner__media-half {
  width: 50%;
}

.banner__media-half + .banner__media-half {
  right: 0;
  left: auto;
  z-index: 0;
}

.banner__media-half.animate--fixed:first-child > img {
  width: 50%;
}

.banner__media-half.animate--fixed:nth-child(2) > img {
  left: 50%;
  width: 50%;
}

@media screen and (max-width: 749px) {
  .banner--stacked .animate--fixed:first-child > img {
    width: 100%;
  }

  .banner--stacked .banner__media-half.animate--fixed:nth-child(2) > img {
    left: 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: 749px) {
  .banner--mobile-bottom .banner__box {
    border: none;
    border-top-left-radius: 0;
    border-top-right-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: 1rem;
  }
}

@media screen and (max-width: 749px) {
  .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: 749px) {
  .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: 749px) {
  .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: 2rem;
    padding-bottom: 0rem;
  }

  .banner--desktop-transparent .banner__box {
    background: transparent;
    max-width: 100%;
    border: none;
    border-radius: 0;
    box-shadow: none;
  }

  .hz-horizon .banner--desktop-transparent .banner__box,
  .hz-horizon .banner--desktop-transparent .banner__box.gradient,
  .hz-horizon .banner--desktop-transparent .slideshow__text {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .banner--desktop-transparent .button--secondary {
    --alpha-button-background: 0;
  }

  .banner--desktop-transparent .content-container:after {
    display: none;
  }

  .hz-horizon .banner--desktop-transparent .content-container:after,
  .hz-horizon .banner--desktop-transparent .slideshow__text:after {
    display: none !important;
    content: none !important;
  }

  .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: 749px) {
  .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: 1rem;
    padding-bottom: 15rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .banner--mobile-transparent .banner__box {
    background: transparent;
    max-width: 100%;
    border: none;
    border-radius: 0;
    box-shadow: none;
  }

  .hz-horizon .banner--mobile-transparent .banner__box,
  .hz-horizon .banner--mobile-transparent .banner__box.gradient,
  .hz-horizon .banner--mobile-transparent .slideshow__text {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .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;
  }
}

/* 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;
  left: -6px;
}

.form__field-wrapper label {
  margin-left: 3rem;
  max-width: calc(100% - 7rem);
}

.form__field-wrapper .field__input {
  padding-right: 5rem;
  padding-left: 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 */
.hz-horizon .custom-icon {
  stroke: rgb(var(--color-icon, var(--color-foreground)));
}

.hz-horizon .standard-icon,
.hz-horizon .custom-icon {
  fill: rgb(var(--color-icon, var(--color-foreground)));
}

.hz-horizon .stroke-width-standard {
  stroke-width: 32px;
  stroke: currentColor;
}

.hz-horizon .stroke-width-32 {
  stroke-width: 32px;
  stroke: currentColor;
}

.hz-horizon .button.font-bold .stroke-width-standard {
  stroke-width: 32px;
}

.hz-horizon .button.font-bold .stroke-width-32 {
  stroke-width: 40px;
}

.hz-horizon .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;
  right: 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;
  left: 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;
  left: 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));
  left: 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(0px);
}

/* 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;
}

/* 弹框基础样式 */
.modal {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,.6);
  display: flex; align-items: center; justify-content: center;
  z-index: 9999;
}
.modal.hidden { display: none; }

#box-list-modal .modal-content {
  background: #fff;
  padding: 25px;
  border-radius: 10px;
  width: 100%;
  max-width: 1200px;
  position: relative;
  max-height: 80vh;           /* 或者用 height: 80vh; 视需求 */
  overflow-y: auto;           /* auto=需要时显示，scroll=始终显示 */
}
