/** Shopify CDN: Minification failed

Line 1426:0 Unexpected "{"
Line 1426:1 Expected identifier but found "#"

**/


/* CSS from snippet stylesheet tags */
.media {
    --size-2: 0.5rem; /* 8px */
    --size-3-5: 0.875rem; /* 14px */
    --text-size-sm: var(--size-3-5); /* 14px */

    position: relative;
    aspect-ratio: var(--aspect-ratio);

    &:has(.media__image) {
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .drift-zoom-pane img {
      width: calc(var(--zoom-width) * 3px) !important;
      height: calc(var(--zoom-height) * 3px) !important;
    }
  }

  .media__image {
    max-width: var(--image-max-width);
    max-height: var(--image-max-height);
  }

  .media__image,
  .media__video {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 100vh;
    object-fit: scale-down;

    .media--image-crop & {
      object-fit: cover;
    }

    .media:not(.media--image-crop) & {
      object-position: initial !important;
    }
  }

  .media__model {
    width: 100%;
    min-height: 33vh;

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

  .media__lightbox-button {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 501;
    padding: 6px 10px 6px 9px;
    margin: 0 var(--size-3) var(--size-3) 0;
    font-size: var(--text-size-sm);
    font-weight: normal;
    color: var(--color-text);
    cursor: pointer;
    background: var(--color-background-alpha-90);
    border: 0;
    border-radius: 3px;
    box-shadow: 0 0 0 1px var(--color-border-soft);

    @media (width >= 720px) {
      &.media__lightbox-button--mobile {
        display: none;
      }
    }

    @media (width < 720px) {
      &.media__lightbox-button--desktop {
        display: none;
      }
    }
  }

  .media__lightbox-button-text {
    display: flex;
    gap: 5px;
    align-items: center;
    outline: none;
  }

  .media__lightbox-button-text--click {
    display: none;

    @media (width >= 720px) {
      display: flex;
    }
  }

  .media__lightbox-button-text--tap {
    display: flex;

    @media (width >= 720px) {
      display: none;
    }
  }

  @media (pointer: coarse) {
    .media__lightbox-button:not(.media__lightbox-button--desktop) {
      .media__lightbox-button-text--click {
        display: none;
      }

      .media__lightbox-button-text--tap {
        display: flex;
      }
    }
  }

  .drift-zoom-pane {
    &.drift-open,
    &.drift-closing {
      img {
        height: auto !important;
      }
    }
  }
.thumbnail {
    position: relative;
    display: inline-block;
    height: 64px;
    aspect-ratio: var(--aspect-ratio, initial);
    padding: 2px;
    margin: 3px;
    vertical-align: middle;
    border-radius: 2px;
    box-shadow: 0 0 2px transparent;

    &:focus {
      outline: none;
      box-shadow: 0 0 0 1.5px var(--color-border-soft);
    }

    &[role='button'] {
      cursor: pointer;
    }

    @media (width >= 720px) {
      .product-gallery--left & {
        height: auto;
      }
    }
  }

  .thumbnail--active,
  .swiper-slide-thumb-active .thumbnail {
    box-shadow: 0 0 0 1.5px var(--color-input-border-morph-12);

    &:focus {
      box-shadow:
        0 0 0 1.5px var(--color-input-border-morph-12),
        0 0 0 5px var(--color-border-softer, rgb(0 0 0 / 10%));
    }
  }

  .thumbnail__icon {
    position: absolute;
    top: var(--size-1-5);
    right: var(--size-1-5);
    z-index: 1;
    width: var(--size-5);
    height: var(--size-5);
    color: var(--color-headings);
    pointer-events: none;
    background: var(--color-background);
    box-shadow: 0 0 0 1px var(--color-box-shadow-shadow-headings);
  }

  .thumbnail__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;

    .thumbnail:not(.thumbnail--aspect-ratio-set) & {
      object-fit: contain;
      object-position: center !important;
    }
  }
/* stylelint-disable custom-property-pattern */
  product-gallery {
    --left-aligned-thumbnail-width: 64px;
    --thumbnails-height: 550px;

    position: relative;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    gap: var(--size-2);

    @media (width >= 720px) {
      gap: var(--size-4);
    }

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

  .swiper-slide__inner--cursor-pointer--always {
    cursor: pointer;
  }

  @media (width <= 720px) {
    .swiper-slide__inner--cursor-pointer--mobile {
      cursor: pointer;
    }
  }

  @media (width > 720px) {
    .swiper-slide__inner--cursor-pointer--desktop {
      cursor: pointer;
    }
  }

  .swiper-slide__inner--cursor-crosshair {
    cursor: crosshair;
  }

  .product-gallery__navigation .swiper-slide {
    width: auto;
  }

  .product-gallery__viewer:not(.swiper-initialized) .swiper-slide:not(:first-child) {
    height: 0;
  }

  .product-gallery__scroll-button {
    position: absolute;
    top: 0;
    z-index: 2;
    width: 32px;
    height: 100%;
    cursor: pointer;
    outline: none;
    background: var(--color-background);
    border-top: none;
    border-bottom: none;

    &:disabled {
      display: none;
    }

    svg {
      color: var(--color-text, inherit);
    }

    &.product-gallery__scroll-button--prev {
      left: 0;
      padding: 0;
      border-right: 1px solid var(--color-border-modify);
      border-left: none;

      svg {
        transform: rotate(90deg);
      }
    }

    &.product-gallery__scroll-button--next {
      right: 0;
      padding: 0;
      border-right: none;
      border-left: 1px solid var(--color-border-modify);

      svg {
        transform: rotate(270deg);
      }
    }
  }

  .product-gallery__placeholder {
    width: 100%;
  }

  .product-gallery__placeholder-image {
    display: block;
    width: 100%;
    background-color: var(--color-placeholder-background);
    fill: var(--color-placeholder-fill);
  }

  .product-gallery__zoom-container {
    position: absolute;
    top: 0;
    right: 0;
    display: inline-block;
  }

  /* vertical */

  @media (width >= 720px) {
    .product-gallery--left .product-gallery__scroll-button {
      width: 100%;
      height: 32px;

      &.product-gallery__scroll-button--prev {
        border-right: none;
        border-bottom: 1px solid var(--color-border-modify);

        svg {
          transform: rotate(180deg);
        }
      }

      &.product-gallery__scroll-button--next {
        top: auto;
        bottom: 0;
        border-top: 1px solid var(--color-border-modify);
        border-left: none;

        svg {
          transform: none;
        }
      }
    }

    .product-gallery--left {
      flex-flow: row-reverse;
      flex-wrap: nowrap;

      .product-gallery__viewer {
        flex: 1;
      }

      .product-gallery__navigation {
        flex: 1 0 auto;
        align-self: flex-start;
        max-width: calc(var(--left-aligned-thumbnail-width) + var(--size-2));
        max-height: var(--thumbnails-height);

        .swiper-slide {
          height: auto;
        }

        .thumbnail {
          width: var(--left-aligned-thumbnail-width);
        }
      }
    }
  }

  @media (width >= 720px) {
    .product-gallery--grid:not(.product-gallery--left) {
      .product-gallery__scroll-button {
        display: none;
      }

      .product-gallery__navigation {
        .swiper-wrapper {
          flex-wrap: wrap;
        }

        .swiper-slide {
          height: auto;
        }
      }
    }
  }

  /* Photoswipe overrides */

  @keyframes shimmer-background {
    from {
      background-color: var(--color-background-8);
    }

    to {
      background-color: var(--color-background-4);
    }
  }

  .pswp {
    --duration--small-600: 200ms;
    --duration--small-400: 150ms;
    --duration--large-400: 1050ms;
    --ease-in-out--normal: cubic-bezier(0.4, 0, 0.2, 1);
    --ease-in-out--strong: cubic-bezier(0.6, 0.05, 0.01, 0.99);

    span {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 100%;
      outline: none;
      opacity: 0.6;
    }

    .pswp__bg {
      background: var(--color-background);
      transition: opacity var(--duration--small-600) var(--ease-in-out--strong);
    }

    .pswp__img--placeholder {
      background-color: unset;
      animation: shimmer-background var(--duration--large-400) var(--ease-in-out--strong) infinite;
      animation-fill-mode: forwards;
      animation-direction: alternate;
    }

    .pswp__top-bar {
      background: transparent;
      opacity: 1;
    }

    .pswp__button--close {
      width: 48px;
      height: 48px;
      margin: calc(var(--size-6-5) + 2px);
      color: var(--color-black);
      background: var(--color-white);
      border-radius: 100%;
      box-shadow:
        0 0 0 1px rgb(127 127 127 / 3%),
        0 2px 5px rgb(127 127 127 / 30%);
      opacity: 0;
      transition:
        transform var(--duration--small-400) var(--ease-in-out--normal),
        opacity var(--duration--small-400) var(--ease-in-out--normal),
        box-shadow var(--duration--small-400) var(--ease-in-out--normal);

      &:hover {
        box-shadow:
          0 0 0 1px rgb(127 127 127 / 4%),
          0 3px 10px rgb(127 127 127 / 40%);
        transform: scale(1.125);

        span {
          opacity: 0.8;
          transition: opacity var(--duration--small-400) var(--ease-in-out--normal);
        }
      }
    }

    .product-zoom--thumbnails {
      position: absolute;
      bottom: 0;
      width: 100%;
      padding: var(--size-1) var(--size-2);
      margin: var(--size-2) 0;
      background: var(--color-background);
      opacity: 0;
      transition: opacity var(--duration--small-600) var(--ease-in-out--normal);
    }

    .product-gallery__scroll-button {
      top: 0;
      padding: 0 var(--size-2);
    }

    .product-zoom--thumb-scroller {
      padding-top: 2px;
      padding-bottom: 2px;
      overflow: auto;
      white-space: nowrap;
      scroll-behavior: smooth;
    }

    &.pswp--animated-in {
      .product-zoom--thumbnails,
      .pswp__button--close {
        opacity: 1;
      }
    }

    .product-gallery--media-thumbnail {
      display: inline-block;
    }
  }

  .product-gallery--left {
    margin-top: -5px;

    .product-gallery__viewer {
      margin-top: 5px;
    }
  }

  .product-gallery:not(.product-gallery--left) {
    width: calc(100% + 10px);
    margin-right: -5px;
    margin-left: -5px;

    .product-gallery__viewer {
      width: calc(100% - 10px) !important;
    }
  }

  @keyframes drift-fade-zoom-in {
    0% {
      opacity: 0;
      transform: scale(0.8);
    }

    100% {
      opacity: 1;
      transform: scale(1);
    }
  }

  @keyframes drift-fade-zoom-out {
    0% {
      opacity: 1;
    }

    100% {
      opacity: 0;
    }
  }

  @keyframes drift-fade-in {
    0% {
      opacity: 0;
      transform: scale(1);
    }

    100% {
      opacity: 1;
      transform: scale(1);
    }
  }

  @keyframes drift-fade-out {
    0% {
      opacity: 1;
      transform: scale(1);
    }

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

  @keyframes drift-loader-rotate {
    0% {
      transform: translate(-50%, -50%) rotate(0);
    }

    50% {
      transform: translate(-50%, -50%) rotate(180deg);
    }

    100% {
      transform: translate(-50%, -50%) rotate(360deg);
    }
  }

  .drift-zoom-pane {
    z-index: 3;
    background: var(--color-white);
    box-shadow:
      0 1px 5px rgb(127 127 127 / 2%),
      0 5px 18px rgb(127 127 127 / 20%);
    transform: translate3d(0, 0, 0);
  }

  .product-gallery__zoom-container .drift-zoom-pane {
    left: var(--size-6-5);
    width: 550px;
    height: 550px;
  }

  @media (width <= 1200px) {
    .product-gallery__zoom-container .layout--two-col .drift-zoom-pane {
      width: 450px;
      height: 450px;
    }
  }

  .drift-zoom-pane img {
    top: 0;
    left: 0;
  }

  .drift-zoom-pane.drift-opening {
    animation: drift-fade-zoom-in 200ms cubic-bezier(0.6, 0.05, 0.01, 0.99);
  }

  .product-gallery--image .drift-zoom-pane.drift-opening {
    animation: drift-fade-in 200ms cubic-bezier(0.6, 0.05, 0.01, 0.99);
  }

  .drift-zoom-pane.drift-closing {
    animation: drift-fade-zoom-out 100ms cubic-bezier(0.4, 0, 1, 1);
  }

  .product-gallery--image .drift-zoom-pane.drift-closing {
    animation: drift-fade-out 100ms cubic-bezier(0.4, 0, 1, 1);
  }

  .drift-zoom-pane.drift-inline {
    position: absolute;
    width: 150px;
    height: 150px;
    border-radius: 75px;
    box-shadow: 0 6px 18px rgb(0 0 0 / 30%);
  }

  .drift-zoom-pane-loader {
    position: absolute;
    top: 50%;
    left: 50%;
    display: none;
    width: 50px;
    height: 50px;
    transform: translate(-50%, -50%);
    animation: drift-loader-rotate 0.6s infinite linear;
  }

  .drift-loading .drift-zoom-pane-loader {
    display: block;
  }

  .drift-zoom-pane-loader::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    font-size: 0;
    content: url('data:image/svg+xml;utf8, <svg width="50" height="50" viewBox="0 0 77 77" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M38.5 76.5C17.513 76.5 0.5 59.487 0.5 38.5C0.5 17.513 17.513 0.5 38.5 0.5C59.487 0.5 76.5 17.513 76.5 38.5C76.5 59.487 59.487 76.5 38.5 76.5ZM38.5 73.5C57.83 73.5 73.5 57.83 73.5 38.5C73.5 19.17 57.83 3.5 38.5 3.5C19.17 3.5 3.5 19.17 3.5 38.5C3.5 57.83 19.17 73.5 38.5 73.5Z" fill="%23liquid-object("color_text_encoded")" fill-opacity="0.16"/><path opacity="0.9" d="M38.5 75C58.658 75 75 58.658 75 38.5" stroke="%23liquid-object("color_text_encoded")" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    transform: translate(-50%, -50%);
  }

  .drift-bounding-box {
    z-index: 1;
    background: rgb(255 255 255 / 25%);
    box-shadow: 0 0 0 1px rgb(0 0 0 / 40%) inset;
  }
/*! Flickity v2.2.0
  https://flickity.metafizzy.co
  ---------------------------------------------- */
  .flickity-enabled {
    position: relative;
  }
  .flickity-enabled:focus {
    outline: 0;
  }
  .flickity-viewport {
    /* overflow: hidden; */
    position: relative;
    height: 100%;
  }
  .flickity-slider {
    position: absolute;
    width: 100%;
    height: 100%;
  }
  .flickity-enabled.is-draggable {
    -webkit-tap-highlight-color: transparent;
    tap-highlight-color: transparent;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
  .flickity-enabled.is-draggable .flickity-viewport {
    cursor: move;
    cursor: -webkit-grab;
    cursor: grab;
  }
  .flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
    cursor: -webkit-grabbing;
    cursor: grabbing;
  }
  .flickity-button {
    position: absolute;
    background: hsla(0, 0%, 100%, 0.75);
    border: none;
    color: #333;
  }
  .flickity-button:hover {
    background: #fff;
    cursor: pointer;
  }
  .flickity-button:focus {
    outline: 0;
    box-shadow: 0 0 0 5px #19f;
  }
  .flickity-button:active {
    opacity: 0.6;
  }
  .flickity-button:disabled {
    opacity: 0.3;
    cursor: auto;
    pointer-events: none;
  }
  .flickity-button-icon {
    fill: currentColor;
  }
  .flickity-prev-next-button {
    top: 50%;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    transform: translateY(-50%);
  }
  .flickity-prev-next-button.previous {
    left: 10px;
  }
  .flickity-prev-next-button.next {
    right: 10px;
  }
  .flickity-rtl .flickity-prev-next-button.previous {
    left: auto;
    right: 10px;
  }
  .flickity-rtl .flickity-prev-next-button.next {
    right: auto;
    left: 10px;
  }
  .flickity-prev-next-button .flickity-button-icon {
    position: absolute;
    left: 20%;
    top: 20%;
    width: 60%;
    height: 60%;
  }
  .flickity-page-dots {
    position: absolute;
    width: 100%;
    bottom: -25px;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    line-height: 1;
  }
  .flickity-rtl .flickity-page-dots {
    direction: rtl;
  }
  .flickity-page-dots .dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 8px;
    background: #333;
    border-radius: 50%;
    opacity: 0.25;
    cursor: pointer;
  }
  .flickity-page-dots .dot.is-selected {
    opacity: 1;
  }
/**
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025
 */

  @font-face {
    font-family: swiper-icons;
    src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
    font-weight: 400;
    font-style: normal;
  }
  :root {
    --swiper-theme-color: #007aff;
  }
  :host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1;
  }
  .swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block;
  }
  .swiper-vertical > .swiper-wrapper {
    flex-direction: column;
  }
  .swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box;
  }
  .swiper-android .swiper-slide,
  .swiper-ios .swiper-slide,
  .swiper-wrapper {
    transform: translate3d(0px, 0, 0);
  }
  .swiper-horizontal {
    touch-action: pan-y;
  }
  .swiper-vertical {
    touch-action: pan-x;
  }
  .swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block;
  }
  .swiper-slide-invisible-blank {
    visibility: hidden;
  }
  .swiper-autoheight,
  .swiper-autoheight .swiper-slide {
    height: auto;
  }
  .swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height;
  }
  .swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px;
  }
  .swiper-3d .swiper-wrapper {
    transform-style: preserve-3d;
  }
  .swiper-3d {
    perspective: 1200px;
  }
  .swiper-3d .swiper-cube-shadow,
  .swiper-3d .swiper-slide {
    transform-style: preserve-3d;
  }
  .swiper-css-mode > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none;
  }
  .swiper-css-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  .swiper-css-mode.swiper-horizontal > .swiper-wrapper {
    scroll-snap-type: x mandatory;
  }
  .swiper-css-mode.swiper-vertical > .swiper-wrapper {
    scroll-snap-type: y mandatory;
  }
  .swiper-css-mode.swiper-free-mode > .swiper-wrapper {
    scroll-snap-type: none;
  }
  .swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: none;
  }
  .swiper-css-mode.swiper-centered > .swiper-wrapper::before {
    content: '';
    flex-shrink: 0;
    order: 9999;
  }
  .swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always;
  }
  .swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before);
  }
  .swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after);
  }
  .swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before);
  }
  .swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after);
  }
  .swiper-3d .swiper-slide-shadow,
  .swiper-3d .swiper-slide-shadow-bottom,
  .swiper-3d .swiper-slide-shadow-left,
  .swiper-3d .swiper-slide-shadow-right,
  .swiper-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
  .swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }
  .swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent;
  }
  .swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
  .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
  .swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff;
  }
  .swiper-lazy-preloader-black {
    --swiper-preloader-color: #000;
  }
  @keyframes swiper-preloader-spin {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  .swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
  }
  .swiper-virtual.swiper-css-mode .swiper-wrapper::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
  }
  .swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
    height: 1px;
    width: var(--swiper-virtual-size);
  }
  .swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
    width: 1px;
    height: var(--swiper-virtual-size);
  }
  :root {
    --swiper-navigation-size: 44px;
  }
  .swiper-button-next,
  .swiper-button-prev {
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    width: calc(var(--swiper-navigation-size) / 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color));
  }
  .swiper-button-next.swiper-button-disabled,
  .swiper-button-prev.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
  }
  .swiper-button-next.swiper-button-hidden,
  .swiper-button-prev.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
  }
  .swiper-navigation-disabled .swiper-button-next,
  .swiper-navigation-disabled .swiper-button-prev {
    display: none !important;
  }
  .swiper-button-next svg,
  .swiper-button-prev svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center;
  }
  .swiper-rtl .swiper-button-next svg,
  .swiper-rtl .swiper-button-prev svg {
    transform: rotate(180deg);
  }
  .swiper-button-prev,
  .swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto;
  }
  .swiper-button-next,
  .swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto;
  }
  .swiper-button-lock {
    display: none;
  }
  .swiper-button-next:after,
  .swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1;
  }
  .swiper-button-prev:after,
  .swiper-rtl .swiper-button-next:after {
    content: 'prev';
  }
  .swiper-button-next,
  .swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto;
  }
  .swiper-button-next:after,
  .swiper-rtl .swiper-button-prev:after {
    content: 'next';
  }
  .swiper-pagination {
    position: absolute;
    text-align: center;
    transition: 0.3s opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10;
  }
  .swiper-pagination.swiper-pagination-hidden {
    opacity: 0;
  }
  .swiper-pagination-disabled > .swiper-pagination,
  .swiper-pagination.swiper-pagination-disabled {
    display: none !important;
  }
  .swiper-horizontal > .swiper-pagination-bullets,
  .swiper-pagination-bullets.swiper-pagination-horizontal,
  .swiper-pagination-custom,
  .swiper-pagination-fraction {
    bottom: var(--swiper-pagination-bottom, 8px);
    top: var(--swiper-pagination-top, auto);
    left: 0;
    width: 100%;
  }
  .swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0;
  }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative;
  }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1);
  }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1);
  }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(0.66);
  }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33);
  }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(0.66);
  }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33);
  }
  .swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    display: inline-block;
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
  }
  button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
  }
  .swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer;
  }
  .swiper-pagination-bullet:only-child {
    display: none !important;
  }
  .swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
  }
  .swiper-pagination-vertical.swiper-pagination-bullets,
  .swiper-vertical > .swiper-pagination-bullets {
    right: var(--swiper-pagination-right, 8px);
    left: var(--swiper-pagination-left, auto);
    top: 50%;
    transform: translate3d(0px, -50%, 0);
  }
  .swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
  .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block;
  }
  .swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
  .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
  }
  .swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
  .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition:
      0.2s transform,
      0.2s top;
  }
  .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
  .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
  }
  .swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
  .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
  }
  .swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
  .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition:
      0.2s transform,
      0.2s left;
  }
  .swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition:
      0.2s transform,
      0.2s right;
  }
  .swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color, inherit);
  }
  .swiper-pagination-progressbar {
    background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
    position: absolute;
  }
  .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
  }
  .swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top;
  }
  .swiper-horizontal > .swiper-pagination-progressbar,
  .swiper-pagination-progressbar.swiper-pagination-horizontal,
  .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
  .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0;
  }
  .swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
  .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
  .swiper-pagination-progressbar.swiper-pagination-vertical,
  .swiper-vertical > .swiper-pagination-progressbar {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0;
  }
  .swiper-pagination-lock {
    display: none;
  }
  .swiper-scrollbar {
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    position: relative;
    touch-action: none;
    background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
  }
  .swiper-scrollbar-disabled > .swiper-scrollbar,
  .swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important;
  }
  .swiper-horizontal > .swiper-scrollbar,
  .swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: var(--swiper-scrollbar-sides-offset, 1%);
    bottom: var(--swiper-scrollbar-bottom, 4px);
    top: var(--swiper-scrollbar-top, auto);
    z-index: 50;
    height: var(--swiper-scrollbar-size, 4px);
    width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
  }
  .swiper-scrollbar.swiper-scrollbar-vertical,
  .swiper-vertical > .swiper-scrollbar {
    position: absolute;
    left: var(--swiper-scrollbar-left, auto);
    right: var(--swiper-scrollbar-right, 4px);
    top: var(--swiper-scrollbar-sides-offset, 1%);
    z-index: 50;
    width: var(--swiper-scrollbar-size, 4px);
    height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
  }
  .swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    left: 0;
    top: 0;
  }
  .swiper-scrollbar-cursor-drag {
    cursor: move;
  }
  .swiper-scrollbar-lock {
    display: none;
  }
  .swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
  .swiper-zoom-container > canvas,
  .swiper-zoom-container > img,
  .swiper-zoom-container > svg {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
  .swiper-slide-zoomed {
    cursor: move;
    touch-action: none;
  }
  .swiper .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000;
  }
  .swiper-free-mode > .swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto;
  }
  .swiper-grid > .swiper-wrapper {
    flex-wrap: wrap;
  }
  .swiper-grid-column > .swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column;
  }
  .swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out;
  }
  .swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity;
  }
  .swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none;
  }
  .swiper-fade .swiper-slide-active {
    pointer-events: auto;
  }
  .swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
  }
  .swiper.swiper-cube {
    overflow: visible;
  }
  .swiper-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%;
  }
  .swiper-cube .swiper-slide .swiper-slide {
    pointer-events: none;
  }
  .swiper-cube.swiper-rtl .swiper-slide {
    transform-origin: 100% 0;
  }
  .swiper-cube .swiper-slide-active,
  .swiper-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
  }
  .swiper-cube .swiper-slide-active,
  .swiper-cube .swiper-slide-next,
  .swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible;
  }
  .swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 100%;
    opacity: 0.6;
    z-index: 0;
  }
  .swiper-cube .swiper-cube-shadow:before {
    content: '';
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    filter: blur(50px);
  }
  .swiper-cube .swiper-slide-next + .swiper-slide {
    pointer-events: auto;
    visibility: visible;
  }
  .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
  .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
  .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,
  .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .swiper.swiper-flip {
    overflow: visible;
  }
  .swiper-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
  }
  .swiper-flip .swiper-slide .swiper-slide {
    pointer-events: none;
  }
  .swiper-flip .swiper-slide-active,
  .swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
  }
  .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
  .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
  .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,
  .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .swiper-creative .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform, opacity, height;
  }
  .swiper.swiper-cards {
    overflow: visible;
  }
  .swiper-cards .swiper-slide {
    transform-origin: center bottom;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
  }
{# IDENTISCH zum Original – unverändert kopiert #}
  /* --- ganzer @keyframes/@media/CSS Block aus deinem Original hier steht unverändert --- */
  @keyframes slide-fade-y {
    0% { opacity: 0; transform: translateY(var(--slide-fade-translate-y, 30px)); }
    100% { opacity: 1; transform: translateY(0); }
  }
  @keyframes countdown { from { stroke-dashoffset: 22px; } to { stroke-dashoffset: 0; } }
  .slideshow { --autoplay-interval: 8s; --slide-text-color:#fff; --slide-fade-translate-y:30px; position:relative; box-sizing:border-box; display:flex; justify-content:center; width:100%; margin-top: var(--size-16); }
  .slideshow--flex-spacing.slideshow { margin-top:0; }
  .slideshow-slide__content-desktop a, .slideshow-slide__content-mobile a { color: var(--color-links); text-decoration:none; position:relative; cursor:pointer; transition: color .1s linear; }
  .slideshow-slide__content-desktop a:hover, .slideshow-slide__content-mobile a:hover, .slideshow-slide__content-desktop a:focus, .slideshow-slide__content-mobile a:focus { color: var(--color-link-hover); }
  [data-scroll-class]{opacity:0; animation-delay:.2s;}
  .slideshow__wrapper{display:flex;overflow:hidden;}
  .slideshow--single-slide .slideshow__wrapper{width:100%;overflow:hidden;position:relative;}
  .slideshow-slide{position:relative;flex-shrink:0;width:100%;}
  .swiper-wrapper{transition-timing-function:cubic-bezier(.25,.46,.45,.94)!important;will-change:transform;}
  .slide-element{opacity:0;}
  .slide--active .slide-element{--slide-fade-translate-y:30px;opacity:1;animation:slide-fade-y .75s cubic-bezier(.4,0,.2,1) both paused;animation-delay:calc(100ms * var(--slide-element-index, 0));}
  .slideshow--text-animation-none .slide-element{opacity:1!important;animation:none!important;}
  .slideshow--text-animation-fadeIn .slide-element{--slide-fade-translate-y:0px;}
  .slideshow--text-animation-fadeInUp .slide-element{--slide-fade-translate-y:30px;}
  .slideshow--text-animation-fadeInDown .slide-element{--slide-fade-translate-y:-30px;}
  .slide{opacity:1;}
  .slideshow--animate .slide-element, .slide--active .slide-element{animation-play-state:running;}
  .shopify-section:first-child .slideshow{margin-top:0;}
  .slideshow--width-content{max-width:1400px;padding-right:var(--size-1-5);padding-left:var(--size-1-5);margin-right:auto;margin-left:auto;}
  .slideshow--width-standard{width:95%;max-width:1200px;margin-right:auto;margin-left:auto;}
  .slideshow-slide__image-wrapper{position:relative;width:100%;overflow:hidden;}
  .slideshow-slide__content-background-link{color:var(--slide-text-color);text-decoration:none;}
  .slideshow-slide__background-link:focus::before{position:absolute;inset:0;z-index:10;pointer-events:none;content:'';border:2px solid var(--slide-text-color,#fff);}
  .slideshow-slide__content{position:absolute;top:50%;left:50%;z-index:2;width:80%;padding:var(--size-4);color:var(--slide-text-color);text-align:center;transform:translate(-50%,-50%);transition:none!important;}
  .slideshow-slide__content--mobile-left{text-align:left;}
  .slideshow-slide__content--mobile-center{text-align:center;}
  .slideshow-slide__content--mobile-right{text-align:right;}
  .slideshow-slide__image{display:block;width:100%;height:100%;object-fit:cover;}
  .slideshow-slide__overlay{position:absolute;inset:0;}
  .slideshow--content-hidden .slideshow-slide__content{display:none!important;visibility:hidden!important;opacity:0!important;}
  .slideshow-slide__content-desktop{display:none;}
  .slideshow-slide__content-mobile{display:block;}
  .slideshow-slide__heading{margin:0;font-family:var(--heading-font-family);font-size:calc(var(--heading-font-scale,1)*var(--text-size-6-5));font-style:var(--heading-font-style);font-weight:var(--heading-font-weight);line-height:var(--line-height-md);text-transform:var(--heading-font-capitalization,initial);letter-spacing:var(--heading-letter-spacing,initial);word-wrap:break-word;}
  .slideshow-slide__subheading{margin-top:var(--size-3);margin-bottom:0;font-family:var(--subheading-font-family);font-size:var(--text-size-4);line-height:var(--line-height-lg);word-wrap:break-word;}
  .slideshow-slide__preheading{margin:0 0 var(--size-2-5);font-family:var(--subheading-font-family);font-size:var(--text-size-4);line-height:var(--line-height-lg);word-wrap:break-word;}
  .slideshow-slide__button{display:inline-block;margin-top:var(--size-5);margin-bottom:0;padding:var(--size-2-5) var(--size-4);font-family:var(--button-font-family);font-size:var(--body-md-font-size);font-weight:var(--font-weight-700);text-align:center;text-decoration:none;text-transform:var(--button-font-capitalization,initial);letter-spacing:var(--button-letter-spacing,initial);cursor:pointer;border-radius:var(--radius-xs);transition:all .2s ease;}
  .slideshow-slide__button + .slideshow-slide__button{margin-left:var(--size-1-5);}
  .slideshow-slide__button:hover,.slideshow-slide__button:focus{outline:none;}
  .slideshow-slide__button:focus,.slideshow-slide__button:focus:hover{box-shadow:0 0 0 2px var(--color-secondary),0 0 0 5px rgb(17 153 255 / 40%),0 3px 8px var(--color-border-softer);}
  .slideshow-slide__button:not(.disabled):hover{box-shadow:0 3px 8px var(--color-border-softer);}
  .slideshow-slide__button--primary{color:var(--color-button-text);background-color:var(--color-button-background);border:1px solid var(--color-button-background);}
  .slideshow-slide__button--primary:active{background:var(--color-button-background-focus);border:1px solid var(--color-button-background-focus);}
  .slideshow-slide__button--primary.disabled,.slideshow-slide__button--primary:disabled{color:var(--color-button-text);cursor:default;background-color:var(--color-button-disable);border:1px solid var(--color-button-disable);}
  .slideshow-slide__button--primary:not(.disabled):hover{background:var(--color-button-background-hover);border:1px solid var(--color-button-background-hover);}
  .slideshow-slide__button--secondary{color:var(--color-button-secondary-text);background-color:var(--color-button-secondary-background);border:1px solid var(--color-button-secondary-border);}
  .slideshow-slide__button--secondary:active{background-color:var(--color-button-secondary-background-focus);border-color:var(--color-button-secondary-border);}
  .slideshow-slide__button--secondary.disabled,.slideshow-slide__button--secondary:disabled{color:rgb(255 255 255 / 50%);cursor:default;background-color:transparent;border:1px solid rgb(255 255 255 / 30%);}
  .slideshow-slide__button--secondary:not(.disabled):hover{background:var(--color-button-secondary-background-hover);border:1px solid var(--color-button-secondary-border-hover);}
  .slideshow-slide__button-wrapper{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;align-items:center;width:100%;}
  .slideshow-slide__button-wrapper .slideshow-slide__button{flex:1 1 0;}
  .slideshow-slide__button--button--primary,.slideshow-slide__button--button--secondary,.slideshow-slide__button--button--link-style{display:inline-flex;align-items:center;justify-content:center;font-weight:var(--button-font-weight);letter-spacing:var(--button-letter-spacing);text-transform:var(--button-font-capitalization);font-style:var(--button-font-style);box-sizing:border-box;margin:var(--size-2) 0 0 0 !important;}
  .slideshow-slide__button--button--primary{font-size:var(--button-primary-font-size)!important;line-height:var(--button-primary-line-height);border-radius:var(--button-primary-border-radius);height:auto;max-width:100%;white-space:normal;overflow-wrap:normal;transition:all var(--button-transition-speed) ease-in-out;padding:calc(.375em - 1px) 1em!important;color:var(--button-primary-text-color);background-color:var(--button-primary-bg-color);border:1px solid var(--button-primary-border-color);}
  .slideshow-slide__button--button--primary:hover,.slideshow-slide__button--button--primary:focus{color:var(--button-primary-text-color-highlight);background-color:var(--button-primary-bg-color-highlight);border:1px solid var(--button-primary-border-color-highlight);}
  .slideshow-slide__button--button--secondary{font-size:var(--button-secondary-font-size)!important;line-height:var(--button-secondary-line-height);border-radius:var(--button-secondary-border-radius);height:auto;max-width:100%;white-space:normal;transition:all var(--button-transition-speed) ease-in-out;padding:calc(.375em - 1px) 1em!important;color:var(--button-secondary-text-color);background-color:var(--button-secondary-bg-color);border:1px solid var(--button-secondary-border-color);}
  .slideshow-slide__button--button--secondary:hover,.slideshow-slide__button--button--secondary:focus{color:var(--button-secondary-text-color-highlight);background-color:var(--button-secondary-bg-color-highlight);border:1px solid var(--button-secondary-border-color-highlight);}
  .slideshow-slide__button--button--link-style{border:none;border-bottom:var(--button-link-underline-thickness) var(--button-link-underline-style);border-radius:0;font-size:var(--button-link-style-font-size)!important;line-height:var(--button-link-style-line-height);padding:0!important;height:auto;max-width:100%;white-space:normal;background:transparent;transition:all var(--button-transition-speed) linear;text-align:center;color:var(--button-link-text-color);border-bottom-color:var(--button-link-text-color);}
  .slideshow-slide__button--button--link-style:hover,.slideshow-slide__button--button--link-style:focus{color:var(--button-link-text-color-highlight);border-bottom-color:var(--button-link-text-color-highlight)!important;background:transparent;box-shadow:none!important;}
  @media screen and (max-width: 480px){.slideshow-slide__button-wrapper{flex-direction:column;width:100%;gap:10px}.slideshow-slide__button-wrapper .slideshow-slide__button{width:100%}}
  .slideshow--grab-cursor .slideshow-slide{cursor:grab}
  .slideshow--grab-cursor .slideshow-slide:active{cursor:grabbing}
  .slideshow--grab-cursor .slideshow-slide__content-background-link{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;text-decoration:none;display:block}
  .slideshow--grab-cursor .slideshow-slide__button,.slideshow--grab-cursor .slideshow-slide__content a:not(.slideshow-slide__content-background-link),.slideshow--grab-cursor .slideshow-slide__content button{position:relative;z-index:10;pointer-events:auto}
  .slideshow--grab-cursor .slideshow-slide__preheading a,.slideshow--grab-cursor .slideshow-slide__heading a,.slideshow--grab-cursor .slideshow-slide__subheading a{position:relative;z-index:10;pointer-events:auto}
  .slideshow-pagination{position:absolute;display:flex;justify-content:center;padding:0!important;list-style:none;opacity:0}
  .slideshow--pagination-color .slideshow-pagination__button{background-color:var(--pagination-color)!important}
  .slideshow-pagination__dot{margin:0}
  .slideshow-pagination__button{display:inline-block;width:7px;height:7px;padding:0;margin:0 7.5px;cursor:pointer;outline:none;background-color:var(--slide-text-color,#fff)!important;border:none;border-radius:50%;opacity:.25;transition:transform 300ms cubic-bezier(.4,0,.2,1),opacity 300ms cubic-bezier(.4,0,.2,1)}
  .slideshow-pagination__button:focus-visible{outline:2px solid var(--slide-text-color,#fff);outline-offset:2px}
  .slideshow-pagination__button[data-selected='true'],.swiper-pagination-bullet-active{opacity:1;transform:scale(1.25)}
  .slideshow .swiper-button-prev,.slideshow .swiper-button-next{position:absolute;top:50%;width:40px;height:40px;padding:5px;margin-top:0;color:var(--slide-text-color);cursor:pointer;background-color:transparent}
  .slideshow .swiper-button-prev{left:35px}
  .slideshow .swiper-button-next{right:35px}
  .slideshow .swiper-button-prev:disabled,.slideshow .swiper-button-next:disabled{cursor:default;opacity:.25}
  .slideshow .swiper-button-prev::after,.slideshow .swiper-button-next::after{content:''}
  .slideshow--arrow-style-normal .swiper-button-prev{opacity:0;transform:translate(-10px,-50%)}
  .slideshow--arrow-style-normal .swiper-button-next{opacity:0;transform:translate(10px,-50%)}
  .slideshow--arrow-style-normal .swiper-button-prev::before,.slideshow--arrow-style-normal .swiper-button-next::before{position:absolute;top:50%;left:50%;display:inline-block;width:22px;height:22px;content:'';border-color:var(--slide-text-color);border-style:solid;border-width:2px 2px 0 0;transition:transform .2s ease}
  .slideshow--arrow-style-normal .swiper-button-prev::before{transform:translate(-30%,-50%) rotate(-135deg)}
  .slideshow--arrow-style-normal .swiper-button-next::before{transform:translate(-70%,-50%) rotate(45deg)}
  .slideshow--arrow-style-normal .swiper-button-prev:hover::before{transform:translate(-30%,-50%) rotate(-135deg) scale(1.2)}
  .slideshow--arrow-style-normal .swiper-button-next:hover::before{transform:translate(-70%,-50%) rotate(45deg) scale(1.2)}
  .slideshow--arrow-style-circle .swiper-button-prev,.slideshow--arrow-style-circle .swiper-button-next{top:auto;bottom:25px;z-index:100;width:44px;height:44px;pointer-events:auto;background:hsla(0,0%,100%,.75);border-radius:50%;opacity:1;transition:background-color .3s ease-in-out}
  .slideshow--arrow-style-circle .swiper-button-prev{left:35px;transform:translateY(0)}
  .slideshow--arrow-style-circle .swiper-button-next{right:35px;transform:translateY(0)}
  .slideshow--arrow-style-circle .swiper-button-prev svg,.slideshow--arrow-style-circle .swiper-button-next svg{position:absolute;top:50%;left:50%;width:24px;height:24px;transform:translate(-50%,-50%)}
  .slideshow--arrow-style-circle .swiper-button-prev svg .arrow,.slideshow--arrow-style-circle .swiper-button-next svg .arrow{fill:#333}
  .slideshow--arrow-style-circle .swiper-button-prev:hover,.slideshow--arrow-style-circle .swiper-button-next:hover{background-color:#fff}
  .slideshow--arrow-style-circle .slideshow-pagination{pointer-events:none}
  .slideshow--arrow-style-circle .slideshow-pagination__button{pointer-events:auto}
  .slideshow--animate.slideshow--arrow-style-normal .swiper-button-prev,.slideshow--animate.slideshow--arrow-style-normal .swiper-button-next,.slideshow--animate .slideshow-pagination{opacity:1;transform:translate(0,-50%);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1);transition-delay:.4s}
  .slideshow .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0;clip:rect(1px,1px,1px,1px)}
  .circle-timer{position:absolute;top:50%;left:50%;width:14px;height:14px;transform:translate(-50%,-50%)}
  .circle-timer__svg{display:block;width:14px;height:14px;transform:rotateZ(270deg)}
  .circle-timer__background{opacity:.4;fill:none;stroke:var(--slide-text-color);stroke-width:2px;stroke-linecap:round;stroke-dasharray:22px}
  .circle-timer__countdown{fill:none;stroke:var(--slide-text-color);stroke-width:2px;stroke-linecap:round;stroke-dasharray:22px;animation:countdown var(--autoplay-interval) linear infinite}
  [data-autoplay='true'] .slideshow-pagination__button{background-color:var(--slide-text-color,#fff);opacity:.25}
  [data-autoplay='false'] .circle-timer{display:none!important}
  [data-autoplay-active='false'] .circle-timer,[data-autoplay-active='false'] .circle-timer__svg,[data-autoplay-active='false'] .circle-timer__background,[data-autoplay-active='false'] .circle-timer__countdown{display:none!important}
  .slideshow--timer-disabled .circle-timer{display:none!important}
  .slideshow-pagination__button:not([data-selected='true']) .circle-timer,.slideshow-pagination__button:not(.swiper-pagination-bullet-active) .circle-timer{display:none!important}
  [data-autoplay='true'][data-autoplay-active='true'] .slideshow-pagination__button[data-selected='true'],[data-autoplay='true'][data-autoplay-active='true'] .swiper-pagination-bullet-active{background-color:transparent!important;opacity:1}
  [data-autoplay='true'][data-autoplay-active='false'] .slideshow-pagination__button[data-selected='true'],[data-autoplay='true'][data-autoplay-active='false'] .swiper-pagination-bullet-active{background-color:var(--slide-text-color,#fff);opacity:1}
  .slideshow--timer-disabled[data-autoplay='true'][data-autoplay-active='true'] .slideshow-pagination__button[data-selected='true'],.slideshow--timer-disabled[data-autoplay='true'][data-autoplay-active='true'] .swiper-pagination-bullet-active{background-color:var(--pagination-color,#fff)!important;opacity:1}
  [data-autoplay='true'][data-hover='true'] .circle-timer__countdown{animation-play-state:paused!important}
  .slideshow--height-fit-screen.slideshow--section:first-child .slideshow-slide__image-wrapper{height:calc(100vh - var(--header-height,0px))}
.element-badge {
    /* Layout & Typography */
    --_radius: var(--element-badge-radius, var(--chip-radius, var(--radius-xs)));
    --_px: var(--element-badge-px, var(--size-3));
    --_py: var(--element-badge-py, var(--size-1));
    --_border-width: var(--element-badge-border-width, var(--size-0-25));
    --_font-family: var(
      --element-badge-font-family,
      var(--element-text-font-family--body),
      var(--element-text-font-family-fallback--body)
    );
    --_font-size: var(--element-badge-font-size, var(--element-text-font-size--body-sm));
    --_letter-spacing: var(--element-badge-letter-spacing, var(--element-text-letter-spacing--body-sm));
    --_line-height: var(--element-badge-line-height, var(--element-text-line-height--body-sm));

    /* Colors */
    --_base-primary: var(--color-secondary);
    --_base-secondary: var(--color-primary);
    --_color-primary: var(--_base-primary);
    --_color-secondary: var(--_base-secondary);
    --_color-background: var(--_color-primary);
    --_color-text: var(--_color-secondary);
    --_color-border: var(--_color-secondary);
    --_shade-inset-box-shadow: var(--element-badge-shade-inset-box-shadow, 12%);
    --_inset-box-shadow: inset 0 0 0 var(--_border-width)
      color-mix(in srgb, var(--_color-border) var(--_shade-inset-box-shadow), transparent);

    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--_radius);
    padding-inline: var(--_px);
    padding-block: var(--_py);
    font-family: var(--_font-family);
    font-size: var(--_font-size);
    letter-spacing: var(--_letter-spacing);
    background-color: var(--_color-background);
    color: var(--_color-text);
    box-shadow: var(--_inset-box-shadow);
    text-transform: uppercase;
    width: fit-content;
    white-space: nowrap;
  }

  .element-badge--inverted {
    --_color-primary: var(--_base-secondary);
    --_color-secondary: var(--_base-primary);

    & > * {
      --color-primary: currentColor;
    }
  }

  .element-badge--sale {
    --_base-primary: var(--color-sale-tag-text);
    --_base-secondary: var(--color-sale-tag);
  }
:root {
    /* Base Layout Variables */
    --element-button-display: inline-flex;
    --element-button-width: fit-content;
    --element-button-height: auto;
    --element-button-radius: var(--radius-xs);
    --element-button-flex-direction: row;
    --element-button-gap: var(--size-2);
    --element-button-justify-content: center;
    --element-button-align-items: center;
    --element-button-white-space: nowrap;

    /* Base Spacing Variables */
    --element-button-padding-block: var(--size-3);
    --element-button-padding-inline: var(--size-5);
    --element-button-border-width: var(--size-0-25);

    /* Base Color Variables */
    --element-button-color-primary: initial;
    --element-button-color-secondary: initial;
    --element-button-shade-background: 0%;
    --element-button-shade-text: 0%;
    --element-button-shade-border: 20%;

    /* Typography Overrides */
    /* By default, the button will inherit the typography styles from element.text. Set these to other values to override. */
    /* --element-button-font-family: initial; */
    /* --element-button-font-family-fallback: initial; */
    /* --element-button-font-weight: initial; */
    /* --element-button-letter-spacing: initial; */
    /* --element-button-text-transform: initial; */
    /* --element-button-line-height: initial; */
    /* --element-button-color: initial; */

    /* Base Effect Variables */
    --element-button-box-shadow: initial;
    --element-button-transition-duration: 200ms;
    --element-button-transition-timing: ease;
    --element-button-transform: none;
    --element-button-backdrop-filter: none;
    --element-button-opacity: 1;

    /* Hover State Variables */
    --element-button-shade-background--hover: 8%;
    --element-button-shade-border--hover: 30%;

    /* Focus State Variables */
    --element-button-color-focus: var(--color-focus);
    --element-button-border-width--focus: var(--size-0-5);

    /* Active State Variables */
    --element-button-shade-background--active: 16%;
    --element-button-shade-border--active: var(--element-button-shade-border);

    /* Disabled State Variables */
    --element-button-shade-background--disabled: 12%;
    --element-button-shade-text--disabled: 70%;
    --element-button-shade-border--disabled: 12%;
  }

  /* Component Implementation */
  .element-button,
  .element-button--shopify-payment-wrapper .shopify-payment-button .shopify-payment-button__button--unbranded {
    /* Base Layout */
    --_display: var(--element-button-display);
    --_width: var(--element-button-width);
    --_height: var(--element-button-height);
    --_radius: var(--element-button-radius);
    --_flex-direction: var(--element-button-flex-direction);
    --_gap: var(--element-button-gap);
    --_justify-content: var(--element-button-justify-content);
    --_align-items: var(--element-button-align-items);
    --_white-space: var(--element-button-white-space);

    /* Base Spacing */
    --_padding-block: var(--element-button-padding-block);
    --_padding-inline: var(--element-button-padding-inline);
    --_border-width: var(--element-button-border-width);

    /* Base Colors */
    --_color-primary: var(--element-button-color-primary, var(--color-primary));
    --_color-secondary: var(--element-button-color-secondary, var(--color-secondary));
    --_color-focus: var(--element-button-color-focus, var(--color-focus, #4a9afc));
    --_color-text: var(--_color-secondary);
    --_color-background: var(--_color-primary);
    --_outline: none;
    --_border: none;
    --_shade-background: var(--element-button-shade-background);
    --_shade-text: var(--element-button-shade-text);
    --_shade-border: var(--element-button-shade-border);
    --_box-shadow: var(--element-button-box-shadow, inset 0 0 0 var(--_border-width) color-mix(in srgb, var(--_color-text) var(--_shade-border), transparent));

    /* Base Effects */
    --_transition-duration: var(--element-button-transition-duration);
    --_transition-timing: var(--element-button-transition-timing);
    --_transform: var(--element-button-transform);
    --_backdrop-filter: var(--element-button-backdrop-filter);
    --_opacity: var(--element-button-opacity);

    /* Text Styles */
    --element-text-font-family: var(--element-button-font-family);
    --element-text-font-family-fallback: var(--element-button-font-family-fallback);
    --element-text-font-weight: var(--element-button-font-weight);
    --element-text-letter-spacing: var(--element-button-letter-spacing);
    --element-text-text-transform: var(--element-button-text-transform);
    --element-text-line-height: var(--element-button-line-height);
    --element-text-color: var(--element-button-color);
    --element-text-font-size: var(--element-button-font-size);

    /* Icon Styles */
    --element-icon-size: var(--element-text-font-size--body-md);

    /* Base Styles */
    display: var(--_display);
    width: var(--_width);
    height: var(--_height);
    justify-content: var(--_justify-content);
    align-items: var(--_align-items);
    white-space: var(--_white-space);
    flex-direction: var(--_flex-direction);
    gap: var(--_gap);
    padding-block: var(--_padding-block);
    padding-inline: var(--_padding-inline);
    border-radius: var(--_radius);
    background-color: color-mix(in srgb, var(--_color-text) var(--_shade-background), var(--_color-background));
    color: color-mix(in srgb, var(--_color-background) var(--_shade-text), var(--_color-text));
    box-shadow: var(--_box-shadow);
    outline: var(--_outline);
    border: var(--_border);
    transform: var(--_transform);
    backdrop-filter: var(--_backdrop-filter);
    opacity: var(--_opacity);
    transition: all var(--_transition-duration) var(--_transition-timing);
    cursor: pointer;

    &:is(button.shopify-payment-button__button--unbranded) {
      width: 100%;
      line-height: var(--element-text-line-height--body-md);
      min-height: 32px;
    }

    &:has(> svg:only-child) {
      --_padding-inline: var(--_padding-block);
      --_display: flex;
    }

    /* Hover State */
    &:hover {
      --_shade-background: var(--element-button-shade-background--hover);
      --_shade-border: var(--element-button-shade-border--hover);
    }

    /* Focus State */
    &:focus-visible,
    input[type='radio']:focus-visible + & {
      --_border-width: var(--element-button-border-width--focus);
      --_box-shadow: inset 0 0 0 var(--_border-width) var(--_color-focus);
    }

    /* Disabled State */
    &:disabled,
    input[type='radio']:disabled + &,
    .disabled > input[type='radio'] + &,
    shopify-buy-it-now-button[disabled] > & {
      --_shade-background: var(--element-button-shade-background--disabled);
      --_shade-text: var(--element-button-shade-text--disabled);
      --_shade-border: var(--element-button-shade-border--disabled);

      &:is(:disabled),
      shopify-buy-it-now-button[disabled] > & {
        cursor: not-allowed;
      }
    }

    /* Active State */
    &:active,
    input[type='radio']:checked + & {
      --_shade-background: var(--element-button-shade-background--active);
      --_shade-border: var(--element-button-shade-border--active);
    }

    /* Variants */
    &.element-button--size-sm {
      --_padding-block: var(--size-2);
      --_padding-inline: var(--size-4);
    }

    &.element-button--size-lg {
      --_padding-block: var(--size-4);
      --_padding-inline: var(--size-6);
    }

    &.element-button--inverted {
      --_color-text: var(--_color-primary);
      --_color-background: var(--_color-secondary);
    }

    &.element-button--transparent {
      --_color-background: transparent;

      &:disabled {
        --_shade-border: var(--element-button-shade-border--disabled);
        --_shade-background: 0%;
      }

      &:disabled:active {
        --_border-width: var(--element-button-border-width);
        --_shade-border: var(--element-button-shade-border--disabled);
      }
    }

    &:is(.shopify-payment-button__button--unbranded):hover:not([disabled]) {
      background-color: color-mix(in srgb, var(--_color-secondary) var(--_shade-background), var(--_color-primary));
      color: color-mix(in srgb, var(--_color-background) var(--_shade-text), var(--_color-text));
    }
  }

  .element-button--shopify-payment-wrapper {
    --_radius: var(--element-button-radius);
    --_padding-block: var(--element-button-padding-block);
    --_line-height: var(--element-button-line-height, var(--element-text-line-height--body));
    --_font-size: var(--element-button-font-size, var(--element-text-font-size--body-md));

    --shopify-accelerated-checkout-button-border-radius: var(--_radius);
    --shopify-accelerated-checkout-button-block-size: calc((2 * var(--_padding-block)) + (var(--_line-height) * var(--_font-size)));

    font-family: var(--element-button-font-family, var(--element-text-font-family));

    .shopify-payment-button__button--unbranded {
      text-transform: var(--element-button-text-transform);
    }
  }
.element-checkbox {
    /* Layout & Typography */
    --_size: var(--element-checkbox-size, var(--size-5));
    --_icon-size: var(--element-checkbox-icon-size, var(--size-3-5));
    --_radius: var(--element-checkbox-radius, 1px);
    --_gap: var(--element-checkbox-gap, var(--size-2));
    --_outline-width: var(--element-checkbox-outline-width, 1px);
    --_outline-width-active: var(--element-checkbox-outline-width-active, 2px);
    --_font-family: var(
      --element-checkbox-font-family,
      var(--element-text-font-family--body),
      var(--element-text-font-family-fallback--body)
    );
    --_font-size: var(--element-checkbox-font-size, var(--element-text-font-size--body-md));
    --_letter-spacing: var(--element-checkbox-letter-spacing, var(--element-text-letter-spacing--body));
    --_line-height: var(--element-checkbox-line-height, var(--element-text-line-height--body));
    --_font-weight: var(--element-checkbox-font-weight, normal);

    /* Colors */
    --_color-primary: var(--color-primary);
    --_color-secondary: var(--color-secondary);
    --_color-active: var(--color-focus);
    --_color-shadow: var(
      --element-checkbox-shadow-color,
      color-mix(in srgb, var(--root-color-primary) var(--_outline-shade), var(--root-color-secondary))
    );
    --_color-background: var(--root-color-secondary);
    --_color-text: var(--_color-primary);
    --_outline-shade: var(--element-checkbox-outline-shade, 12%);
    --_shadow-inset: var(--element-checkbox-shadow-inset, inset);
    --_shadow-h-offset: var(--element-checkbox-shadow-horizontal-offset, 0);
    --_shadow-v-offset: var(--element-checkbox-shadow-vertical-offset, 0);
    --_shadow-blur: var(--element-checkbox-shadow-blur-radius, 0);
    --_shadow-spread: var(--element-checkbox-shadow-spread-radius, var(--_outline-width));
    --_icon-opacity: var(--element-checkbox-icon-opacity, 0);

    @media (max-width: 768px) {
      --_size: var(--element-checkbox-size, var(--size-4));
      --_icon-size: var(--element-checkbox-icon-size, var(--size-3));
    }

    position: relative;
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--_gap);
    color: var(--_color-text);
    font-family: var(--_font-family);
    font-size: var(--_font-size);
    letter-spacing: var(--_letter-spacing);
    line-height: var(--_line-height);
    font-weight: var(--_font-weight);
    cursor: pointer;

    input[type='checkbox'] {
      position: absolute;
      opacity: 0;
      pointer-events: none;
    }

    &:hover {
      --_color-background: color-mix(in srgb, var(--_color-primary) 4%, var(--_color-secondary));
    }

    &:hover:has(input[type='checkbox']:checked) {
      --_color-shadow: color-mix(in srgb, var(--_color-secondary) 12%, var(--_color-primary));
      --_color-background: color-mix(in srgb, var(--_color-secondary) 4%, var(--_color-primary));
    }

    &:has(input[type='checkbox']:checked) {
      --_icon-opacity: 1;
      --_color-background: var(--_color-primary);
      --_color-shadow: var(--_color-primary);
    }

    &:has(input[type='checkbox']:focus-visible) {
      --_color-shadow: var(--_color-active);
      --_outline-width: var(--_outline-width-active);
    }

    &:not(.element-checkbox--with-icon):has(input[type='checkbox']:focus-visible) {
      outline: 3px solid var(--color-focus);
    }

    &:has(input[type='checkbox']:disabled) {
      --_color-background: color-mix(in srgb, var(--_color-primary) 8%, var(--_color-secondary));
      --_color-shadow: color-mix(in srgb, var(--_color-primary) 8%, var(--_color-secondary));
    }
  }

  .element-checkbox__icon {
    display: flex;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    width: var(--_size);
    height: var(--_size);
    border-radius: var(--_radius);
    box-shadow: var(--_shadow-inset) var(--_shadow-h-offset) var(--_shadow-v-offset) var(--_shadow-blur)
      var(--_shadow-spread) var(--_color-shadow);
    background-color: var(--_color-background);

    .element-icon {
      width: var(--_icon-size);
      height: var(--_icon-size);
      color: var(--_color-secondary);
      opacity: var(--_icon-opacity);
    }
  }
.element-divider {
    /* Layout & Typography */
    --_width: var(--element-divider-width, 100%);
    --_margin: var(--element-divider-margin, 0);
    --_border-width: var(--element-divider-border-width, var(--size-0-25));

    /* Colors */
    --_color-primary: var(--color-primary);
    --_color-secondary: var(--color-secondary);
    --_shade-border: var(--element-divider-border-shade, var(--shade-12));
    --_border-color: var(
      --element-divider-border-color,
      color-mix(in srgb, var(--_color-primary) var(--_shade-border), var(--_color-secondary))
    );

    width: var(--_width);
    margin: var(--_margin) auto;
    border: 0;
    border-top: var(--_border-width) solid var(--_border-color);
  }

  .element-divider--small {
    --_margin: var(--size-4);
  }

  .element-divider--medium {
    --_margin: var(--size-7-5);
  }

  .element-divider--large {
    --_margin: var(--size-7-5);

    @media (min-width: 769px) {
      --_margin: calc(var(--size-7-5) * 1.5);
    }
  }
:root {
    --element-icon-size: 20px;
    --element-icon-width: initial;
    --element-icon-height: initial;
    --element-icon-stroke-width: 2px;
    --element-icon-stroke-linejoin: miter;
    --element-icon-color: inherit;
    --element-icon-opacity: 1;
  }

  .element-icon {
    /* Layout & Typography */
    --_size: var(--element-icon-size);
    --_width: var(--element-icon-width, var(--_size));
    --_height: var(--element-icon-height, var(--_size));
    --_stroke-width: var(--element-icon-stroke-width);
    --_stroke-linejoin: var(--element-icon-stroke-linejoin);

    /* Colors */
    --_color: var(--element-icon-color);
    --_opacity: var(--element-icon-opacity);

    display: inline-block;
    vertical-align: middle;
    width: var(--_width);
    height: var(--_height);
    color: var(--_color);
    opacity: var(--_opacity);

    &.element-icon--line {
      stroke-width: var(--_stroke-width);
      stroke-linejoin: var(--_stroke-linejoin);
    }
  }
:root {
    /* Base Layout Variables */
    --element-input-width: auto;
    --element-input-height: auto;
    --element-input-radius: var(--radius-xs);
    --element-input-padding-inline: var(--size-3);
    --element-input-padding-block: var(--size-3);

    --element-input-font-family: var(--element-text-font-family--body), var(--element-text-font-family-fallback--body);
    --element-input-font-size: var(--element-text-font-size--body-md);
    --element-input-line-height: var(--element-text-line-height--body);
    --element-input-letter-spacing: var(--element-text-letter-spacing--body-md);

    /* Base Outline Variables */
    --element-input-box-shadow-horizontal-offset: 0;
    --element-input-box-shadow-vertical-offset: 0;
    --element-input-box-shadow-blur-radius: 0;
    --element-input-box-shadow-spread-radius: 1px;

    /* Base Colors Variables */
    --element-input-color-primary: initial;
    --element-input-color-secondary: initial;
    --element-input-box-shadow-shade: 12%;
    --element-input-background-shade: 0%;
    --element-input-text-shade: 70%;
    --element-input-text-shade-placeholder: 50%;

    /* Active State Variables */
    --element-input-box-shadow-spread-radius--active: 2px;
    --element-input-box-shadow-shade--active: var(--element-input-box-shadow-shade);
    --element-input-background-shade--active: var(--element-input-background-shade);
    --element-input-text-shade--active: 100%;
    --element-input-box-shadow-color--active: var(--color-focus, #4a9afc);

    /* Focus State Variables */
    --element-input-box-shadow-spread-radius--focus: 2px;
    --element-input-box-shadow-shade--focus: var(--element-input-box-shadow-shade);
    --element-input-background-shade--focus: var(--element-input-background-shade);
    --element-input-text-shade--focus: var(--element-input-text-shade);
    --element-input-box-shadow-color--focus: var(--color-focus, #4a9afc);

    /* Hover State Variables */
    --element-input-box-shadow-spread-radius--hover: 2px;
    --element-input-box-shadow-shade--hover: var(--element-input-box-shadow-shade);
    --element-input-background-shade--hover: 4%;
    --element-input-text-shade--hover: 100%;

    /* Disabled State Variables */
    --element-input-box-shadow-spread-radius--disabled: 2px;
    --element-input-box-shadow-shade--disabled: 8%;
    --element-input-background-shade--disabled: 8%;
    --element-input-text-shade--disabled: 20%;

    /* Error State Variables */
    --element-input-box-shadow-spread-radius--error: 2px;
    --element-input-box-shadow-shade--error: 8%;
    --element-input-background-shade--error: initial;
    --element-input-text-shade--error: 100%;
    --element-input-box-shadow-color--error: var(--color-error, #ff0000);
  }

  .element-input {
    /* Base Layout*/
    --_width: var(--element-input-width);
    --_height: var(--element-input-height);
    --_radius: var(--element-input-radius);
    --_padding-inline: var(--element-input-padding-inline);
    --_padding-block: var(--element-input-padding-block);

    /* Base Typography */
    --_font-family: var(--element-input-font-family);
    --_font-size: var(--element-input-font-size);
    --_line-height: var(--element-input-line-height);
    --_letter-spacing: var(--element-input-letter-spacing);

    /* Base Colors */
    --_color-primary: var(--element-input-color-primary, var(--root-color-primary, #000));
    --_color-secondary: var(--element-input-color-secondary, var(--root-color-secondary, #fff));
    --_color-error: var(--element-input-color-error);
    --_color-active: var(--element-input-color-active);
    --_shade-box-shadow: var(--element-input-box-shadow-shade);
    --_shade-background: var(--element-input-background-shade);
    --_shade-text: var(--element-input-text-shade);
    --_shade-text-placeholder: var(--element-input-text-shade-placeholder);

    --_color-background: color-mix(in srgb, var(--_color-primary) var(--_shade-background), var(--_color-secondary));
    --_color-text: color-mix(in srgb, var(--_color-primary) var(--_shade-text), var(--_color-secondary));
    --_color-text-placeholder: color-mix(
      in srgb,
      var(--_color-primary) var(--_shade-text-placeholder),
      var(--_color-secondary)
    );
    --_color-box-shadow: color-mix(in srgb, var(--_color-primary) var(--_shade-box-shadow), var(--_color-secondary));

    /* Base Outline */
    --_box-shadow-horizontal-offset: var(--element-input-box-shadow-horizontal-offset);
    --_box-shadow-vertical-offset: var(--element-input-box-shadow-vertical-offset);
    --_box-shadow-blur-radius: var(--element-input-box-shadow-blur-radius);
    --_box-shadow-spread-radius: var(--element-input-box-shadow-spread-radius);
    --_box-shadow: inset var(--_box-shadow-horizontal-offset) var(--_box-shadow-vertical-offset)
      var(--_box-shadow-blur-radius) var(--_box-shadow-spread-radius) var(--_color-box-shadow);

    display: flex;
    align-items: center;
    position: relative;
    border: none;
    outline: none;
    padding-inline: var(--_padding-inline);
    padding-block: var(--_padding-block);
    width: var(--_width);
    height: var(--_height);
    border-radius: var(--_radius);
    box-shadow: var(--_box-shadow);
    background-color: var(--_color-background);
    color: var(--_color-text);
    font-family: var(--_font-family);
    font-size: var(--_font-size);
    line-height: var(--_line-height);
    letter-spacing: var(--_letter-spacing);

    &::placeholder {
      color: var(--_color-text-placeholder);
    }

    &:hover:not(:disabled) {
      --_box-shadow-spread-radius: var(--element-input-box-shadow-spread-radius--hover);
      --_shade-box-shadow: var(--element-input-box-shadow-shade--hover);
      --_shade-background: var(--element-input-background-shade--hover);
      --_shade-text: var(--element-input-text-shade--hover);
    }

    &:active {
      --_box-shadow-spread-radius: var(--element-input-box-shadow-spread-radius--active);
      --_shade-box-shadow: var(--element-input-box-shadow-shade--active);
      --_shade-background: var(--element-input-background-shade--active);
      --_shade-text: var(--element-input-text-shade--active);
      --_color-box-shadow: var(--element-input-box-shadow-color--active);
    }

    &:focus {
      --_box-shadow-spread-radius: var(--element-input-box-shadow-spread-radius--focus);
      --_shade-box-shadow: var(--element-input-box-shadow-shade--focus);
      --_shade-background: var(--element-input-background-shade--focus);
      --_shade-text: var(--element-input-text-shade--focus);
      --_color-box-shadow: var(--element-input-box-shadow-color--focus);
    }

    &:disabled {
      --_box-shadow-spread-radius: var(--element-input-box-shadow-spread-radius--disabled);
      --_shade-box-shadow: var(--element-input-box-shadow-shade--disabled);
      --_shade-background: var(--element-input-background-shade--disabled);
      --_shade-text: var(--element-input-text-shade--disabled);
      cursor: not-allowed;
    }

    &[aria-invalid='true'] {
      --_box-shadow-spread-radius: var(--element-input-box-shadow-spread-radius--error);
      --_shade-box-shadow: var(--element-input-box-shadow-shade--error);
      --_shade-background: var(--element-input-background-shade--error);
      --_shade-text: var(--element-input-text-shade--error);
      --_color-box-shadow: var(--element-input-box-shadow-color--error);
    }

    & ~ button {
      --element-button-height: 100%;
    }
  }

  .element-input--inverted {
    --_color-secondary: var(--element-input-color-primary, var(--color-primary, #000));
    --_color-primary: var(--element-input-color-secondary, var(--color-secondary, #fff));
  }

  .element-input--transparent {
    --_color-primary: var(--element-input-color-primary, var(--color-primary, #000));
    --_color-secondary: transparent;
  }

  .element-input--inverted.element-input--transparent {
    --_color-primary: var(--element-input-color-secondary, var(--rootcolor-secondary, #fff));
    --_color-secondary: transparent;
  }

  .element-input--inline {
    --_radius: var(--radius-none);
    --_box-shadow: inset 0 calc(var(--_box-shadow-spread-radius) * -1) 0 0 var(--_color-box-shadow);
  }

  .element-input--full {
    --_width: 100%;
  }

  /* Date input specific styles */
  .element-input[type="date"] {
    text-align: left;
    padding-right: var(--size-8); /* Space for calendar icon */
  }

  .element-input[type="date"]::-webkit-calendar-picker-indicator {
    position: absolute;
    right: var(--_padding-inline);
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    width: var(--size-4);
    height: var(--size-4);
  }

  .element-input[type="date"]::-webkit-datetime-edit {
    width: 100%;
  }

  .element-input[type="date"]::-webkit-datetime-edit-fields-wrapper {
    width: 100%;
  }
.element-quantity-selector {
    --element-input-color-primary: var(--color-primary, #000);
    --element-input-color-secondary: var(--color-secondary, #fff);

    width: fit-content;
    display: inline-block;
    position: relative;
    overflow: visible;
    pointer-events: auto;

    &.is-loading {
      opacity: 0.5;
      pointer-events: none;
    }
  }

  .element-quantity-selector__input {
    --element-input-radius: var(--element-button-radius);
    --element-input-padding-inline: calc(
      var(--element-input-line-height) * var(--element-input-font-size) + 2 * var(--element-input-padding-block)
    );
    --element-input-width: max(calc(var(--digit-count, 1ch) + 2 * var(--size-1)), 32px);
    box-sizing: content-box;
    text-align: center;
  }

  .element-quantity-selector__button {
    --element-button-border-width: 0;
    --element-button-color-primary: var(--element-input-color-primary, var(--root-color-primary, #000));
    --element-button-color-secondary: var(--element-input-color-secondary, var(--root-color-secondary, #fff));

    position: absolute;
    top: 0;
    height: 100%;
    aspect-ratio: 1;
    border: 1px solid transparent;
    background-clip: padding-box;
    z-index: 1;

    &:has(+ .element-quantity-selector__input:focus),
    .element-quantity-selector__input:focus + & {
      border-width: var(--element-input-box-shadow-spread-radius--hover);
    }

    &:is(.element-quantity-selector__button--minus) {
      border-radius: var(--element-button-radius) 0 0 var(--element-button-radius);
      left: 0;
    }

    &:is(.element-quantity-selector__button--plus) {
      border-radius: 0 var(--element-button-radius) var(--element-button-radius) 0;
      right: 0;
    }
  }
:root {
    --element-radio-size: var(--size-5);
    --element-radio-dot-size: var(--size-2-5);
    --element-radio-dot-opacity: 0;
    --element-radio-radius: 50%;
    --element-radio-gap: var(--size-2);
    --element-radio-border-width: 1px;
    --element-radio-border-width--focus: 2px;

    --element-radio-color-primary: initial;
    --element-radio-color-secondary: initial;
    --element-radio-color-focus: var(--color-focus);
    --element-radio-shade-background: 0%;
    --element-radio-shade-background--hover: 4%;
    --element-radio-shade-background--checked: 100%;
    --element-radio-shade-background--disabled: 8%;
    --element-radio-shade-border: 12%;
    --element-radio-shade-border--disabled: 8%;
  }

  .element-radio {
    /* Layout & Typography */
    --_size: var(--element-radio-size);
    --_dot-size: var(--element-radio-dot-size);
    --_dot-opacity: var(--element-radio-dot-opacity);
    --_radius: var(--element-radio-radius);
    --_gap: var(--element-radio-gap);
    --_border-width: var(--element-radio-border-width);

    /* Colors */
    --_color-primary: var(--element-radio-color-primary, var(--color-primary));
    --_color-secondary: var(--element-radio-color-secondary, var(--color-secondary));
    --_color-focus: var(--element-radio-color-focus, var(--color-focus, #4a9afc));
    --_shade-background: var(--element-radio-shade-background);
    --_shade-border: var(--element-radio-shade-border);

    --_box-shadow: 0 0 0 var(--_border-width) color-mix(in srgb, var(--_color-primary) var(--_shade-border), var(--_color-secondary));

    @media (max-width: 768px) {
      --_size: var(--radio-size, var(--size-4));
      --_dot-size: var(--radio-dot-size, var(--size-2));
    }

    position: relative;
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--_gap);
    cursor: pointer;

    input[type='radio'] {
      position: absolute;
      opacity: 0;
      inset: 0;
      cursor: pointer;
    }

    &:hover {
      --_shade-background: var(--element-radio-shade-background--hover);
    }

    &:has(input[type='radio']:checked) {
      --_dot-opacity: 1;
      --_shade-background: var(--element-radio-shade-background--checked);
    }

    &:has(input[type='radio']:focus-visible) {
      --_border-width: var(--element-radio-border-width--focus);
      --_box-shadow: 0 0 0 var(--_border-width) var(--_color-focus);
    }

    &:has(input[type='radio']:disabled) {
      --_shade-background: var(--element-radio-shade-background--disabled);
      --_shade-border: var(--element-radio-shade-border--disabled);
      cursor: not-allowed;
    }
  }

  .element-radio__icon {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: var(--_size);
    height: var(--_size);
    border-radius: var(--_radius);
    box-shadow: var(--_box-shadow);
    background-color: color-mix(in srgb, var(--_color-primary) var(--_shade-background), var(--_color-secondary));

    &::before {
      content: '';
      width: var(--_dot-size);
      height: var(--_dot-size);
      background-color: var(--_color-secondary);
      border-radius: 50%;
      opacity: var(--_dot-opacity);
    }
  }
element-select {
    display: inline-block;
    position: relative;
  }

  /* Ensure the custom element inherits the wrapper styles */
  element-select.element-select__wrapper {
    position: relative;
    display: inline-block;
  }

  element-select.element-select__wrapper select {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
    /* Ensure the select is focusable and visible to screen readers */
    pointer-events: auto;
  }

  /* Focus state for the wrapper */
  element-select.element-select__wrapper--focused .element-button {
    --_box-shadow: 0 0 0 var(--element-input-box-shadow-spread-radius--focus) color-mix(in srgb, var(--color-primary) var(--element-input-box-shadow-shade--focus), transparent);
  }

  element-select select:focus-visible + .element-button {
    --_border-width: var(--element-input-box-shadow-spread-radius--focus);
    --_box-shadow: inset 0 0 0 var(--_border-width) var(--_color-focus);
  }

  /* Ensure the button takes full width */
  element-select .element-button {
    width: 100%;
    justify-content: space-between;
  }
.element-swatch {
    /* Layout */
    --_size-small: var(--element-swatch-size-small, var(--size-4));
    --_size-large: var(--element-swatch-size-large, var(--size-8));
    --_size-mobile-ratio: var(--element-swatch-size-mobile-ratio, 0.875); /* 3.5/4 for small, 6/8 for large (0.75) */
    --_size: var(--_size-small);
    --_radius: var(--element-swatch-radius, var(--radius-full));
    --_border-width: var(--element-swatch-border-width, var(--size-0-25));
    --_outline-width: var(--element-swatch-outline-width, 3px);
    --_line-disabled-width: var(
      --element-swatch-line-disabled-width,
      max(var(--size-0-25), calc(var(--_size) * 0.0625))
    );

    /* Colors */
    --_color-primary: var(--color-primary, #000);
    --_color-secondary: var(--color-secondary, #fff);
    --_color-background: var(--element-swatch-color-background, var(--_color-primary));
    --_color-background-image: var(--element-swatch-color-background-image, none);
    --_color-border: var(--element-swatch-color-border, var(--_color-primary));
    --_color-disabled: var(--element-swatch-color-disabled, none);
    --_color-focus: var(--element-swatch-color-focus, var(--color-focus, #4a9afc));
    --_shade-inset: var(--element-swatch-shade-inset, 16%);
    --_shade-outer: var(--element-swatch-shade-outer, 0%);
    --_shade-outer-hover: var(--element-swatch-shade-outer-hover, 20%);
    --_shade-outer-selected: var(--element-swatch-shade-outer-selected, 100%);

    display: inline-block;
    background: var(--_color-disabled), var(--_color-background-image) center / cover, var(--_color-background);
    width: var(--_size);
    height: var(--_size);
    border-radius: var(--_radius);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--_color-secondary) 100%, transparent),
      0 0 0 var(--_outline-width) color-mix(in srgb, var(--_color-primary) var(--_shade-outer), transparent),
      inset 0 0 0 var(--_border-width) color-mix(in srgb, var(--_color-border) var(--_shade-inset), transparent);
    outline: 0;

    @media only screen and (max-width: 768px) {
      --_size: calc(var(--_size-small) * var(--_size-mobile-ratio));
    }

    label:hover &,
    &:hover {
      --_outline-width: 4px;
      --_shade-outer: var(--_shade-outer-hover);
    }

    &:focus,
    input:checked ~ &,
    .element-swatch--selected {
      --_shade-outer: var(--_shade-outer-selected);
    } 

    /* Focus State */
    &:focus-visible,
    input[type='radio']:focus-visible ~ & {
      --_color-primary: var(--_color-focus);
      --_outline-width: 4px;
    }
  }

  .element-swatch--large {
    --_size: var(--_size-large);

    @media only screen and (max-width: 768px) {
      --_size: calc(var(--_size-large) * var(--_size-mobile-ratio));
    }
  }

  .element-swatch--disabled,
  .disabled > input[type='radio'] ~ &,
  input:disabled + & {
    --_color-disabled: linear-gradient(
      to bottom right,
      transparent calc(50% - var(--_line-disabled-width)),
      var(--color-secondary) calc(50% - var(--_line-disabled-width)) calc(50% + var(--_line-disabled-width)),
      transparent calc(50% + var(--_line-disabled-width))
    );
  }
/* Public Body Variables */
  :root {
    /* Body Font Styles */
    --element-text-font-family--body: 'Arial';
    --element-text-font-family-fallback--body: 'sans-serif';
    --element-text-font-weight--body: var(--font-weight-400);
    --element-text-letter-spacing--body: var(--letter-space-md);
    --element-text-text-transform--body: none;
    
    /* Body Color */
    --element-text-color--body: initial;
    
    /* Body Font Sizes */
    --element-text-font-size--body: initial;
    --element-text-font-size--body-xs: var(--text-size-3);
    --element-text-font-size--body-sm: var(--text-size-3-5);
    --element-text-font-size--body-md: var(--text-size-4);
    --element-text-font-size--body-lg: var(--text-size-4-5);
    
    /* Body Line Heights */
    --element-text-line-height--body: var(--line-height-md);
    --element-text-line-height--body-xs: initial;
    --element-text-line-height--body-sm: initial;
    --element-text-line-height--body-md: initial;
    --element-text-line-height--body-lg: initial;
  }

  .element-text:is([class*="element-text--body"]) {
    /* Body Font Styles */
    --_font-family--body: var(--_font-family, var(--element-text-font-family--body));
    --_font-family-fallback--body: var(--_font-family-fallback, var(--element-text-font-family-fallback--body));
    --_font-weight--body: var(--_font-weight, var(--element-text-font-weight--body));
    --_letter-spacing--body: var(--_letter-spacing, var(--element-text-letter-spacing--body));
    --_text-transform--body: var(--_text-transform, var(--element-text-text-transform--body));

    /* Body Color */
    --_color--body: var(--_color, var(--element-text-color--body, currentColor));

    /* Body Font Sizes */
    --_font-size--body: var(--_font-size, var(--element-text-font-size--body));
    --_font-size--body-xs: var(--_font-size--body, var(--element-text-font-size--body-xs));
    --_font-size--body-sm: var(--_font-size--body, var(--element-text-font-size--body-sm));
    --_font-size--body-md: var(--_font-size--body, var(--element-text-font-size--body-md));
    --_font-size--body-lg: var(--_font-size--body, var(--element-text-font-size--body-lg));

    /* Body Line Heights */
    --_line-height--body: var(--_line-height, var(--element-text-line-height--body));
    --_line-height--body-xs: var(--element-text-line-height--body-xs, var(--_line-height--body));
    --_line-height--body-sm: var(--element-text-line-height--body-sm, var(--_line-height--body));
    --_line-height--body-md: var(--element-text-line-height--body-md, var(--_line-height--body));
    --_line-height--body-lg: var(--element-text-line-height--body-lg, var(--_line-height--body));

    font-family: var(--_font-family--body), var(--_font-family-fallback--body);
    font-weight: var(--_font-weight--body);
    letter-spacing: var(--_letter-spacing--body);
    text-transform: var(--_text-transform--body);
    color: var(--_color--body);

    &:where(.element-text--body-xs) {
      font-size: var(--_font-size--body-xs); 
      line-height: var(--_line-height--body-xs);
    }

    &:where(.element-text--body-sm) {
      font-size: var(--_font-size--body-sm);
      line-height: var(--_line-height--body-sm);
    }

    &:where(.element-text--body-md) {
      font-size: var(--_font-size--body-md);
      line-height: var(--_line-height--body-md);
    } 

    &:where(.element-text--body-lg) {
      font-size: var(--_font-size--body-lg);
      line-height: var(--_line-height--body-lg);
    }
  }
/* Public Heading Variables */
  :root {
    /* Heading Font Styles */
    --element-text-font-family--heading: 'Arial';
    --element-text-font-family-fallback--heading: 'sans-serif';
    --element-text-font-weight--heading: var(--font-weight-700);
    --element-text-letter-spacing--heading: var(--letter-space-md);
    --element-text-text-transform--heading: none;
    
    /* Heading Color */
    --element-text-color--heading: initial;
    
    /* Heading Font Sizes */
    --element-text-font-size--heading: initial;
    --element-text-font-size--heading-2xl: var(--text-size-12);
    --element-text-font-size--heading-xl: var(--text-size-8);
    --element-text-font-size--heading-lg: var(--text-size-6);
    --element-text-font-size--heading-md: var(--text-size-5);
    --element-text-font-size--heading-sm: var(--text-size-4-5);
    --element-text-font-size--heading-xs: var(--text-size-4);
    --element-text-font-size--heading-2xs: var(--text-size-3-5);
    
    /* Heading Line Heights */
    --element-text-line-height--heading: var(--line-height-md);
    --element-text-line-height--heading-2xl: initial;
    --element-text-line-height--heading-xl: initial;
    --element-text-line-height--heading-lg: initial;
    --element-text-line-height--heading-md: initial;
    --element-text-line-height--heading-sm: initial;
    --element-text-line-height--heading-xs: initial;
    --element-text-line-height--heading-2xs: initial;
  } 

  .element-text:is([class*="element-text--heading"]) {
    /* Heading Font Styles */
    --_font-family--heading: var(--_font-family, var(--element-text-font-family--heading));
    --_font-family-fallback--heading: var(--_font-family-fallback, var(--element-text-font-family-fallback--heading));
    --_font-weight--heading: var(--_font-weight, var(--element-text-font-weight--heading));
    --_letter-spacing--heading: var(--_letter-spacing, var(--element-text-letter-spacing--heading));
    --_text-transform--heading: var(--_text-transform, var(--element-text-text-transform--heading));

    /* Heading Color */
    --_color--heading: var(--_color, var(--element-text-color--heading, currentColor));

    /* Heading Font Sizes */
    --_font-size--heading: var(--_font-size, var(--element-text-font-size--heading));
    --_font-size--heading-2xl: var(--_font-size--heading, var(--element-text-font-size--heading-2xl));
    --_font-size--heading-xl: var(--_font-size--heading, var(--element-text-font-size--heading-xl));
    --_font-size--heading-lg: var(--_font-size--heading, var(--element-text-font-size--heading-lg));
    --_font-size--heading-md: var(--_font-size--heading, var(--element-text-font-size--heading-md));
    --_font-size--heading-sm: var(--_font-size--heading, var(--element-text-font-size--heading-sm));
    --_font-size--heading-xs: var(--_font-size--heading, var(--element-text-font-size--heading-xs));

    /* Heading Line Heights */
    --_line-height--heading: var(--_line-height, var(--element-text-line-height--heading));
    --_line-height--heading-2xl: var(--element-text-line-height--heading-2xl, var(--_line-height--heading));
    --_line-height--heading-xl: var(--element-text-line-height--heading-xl, var(--_line-height--heading));
    --_line-height--heading-lg: var(--element-text-line-height--heading-lg, var(--_line-height--heading));
    --_line-height--heading-md: var(--element-text-line-height--heading-md, var(--_line-height--heading));
    --_line-height--heading-sm: var(--element-text-line-height--heading-sm, var(--_line-height--heading));
    --_line-height--heading-xs: var(--element-text-line-height--heading-xs, var(--_line-height--heading));

    font-family:var(--_font-family--heading), var(--_font-family-fallback--heading);
    font-weight: var(--_font-weight--heading);
    letter-spacing: var(--_letter-spacing--heading);
    text-transform: var(--_text-transform--heading);
    color: var(--_color--heading);

    &:where(.element-text--heading-2xs) {
      font-size: var(--_font-size--heading-2xs);
      line-height: var(--_line-height--heading-2xs);
    }
  
    &:where(.element-text--heading-xs) {
      font-size: var(--_font-size--heading-xs);
      line-height: var(--_line-height--heading-xs);
    }

    &:where(.element-text--heading-sm) {
      font-size: var(--_font-size--heading-sm);
      line-height: var(--_line-height--heading-sm);
    }

    &:where(.element-text--heading-md) {
      font-size: var(--_font-size--heading-md);
      line-height: var(--_line-height--heading-md);
    }

    &:where(.element-text--heading-lg) {
      font-size: var(--_font-size--heading-lg);
      line-height: var(--_line-height--heading-lg);
    }

    &:where(.element-text--heading-xl) {
      font-size: var(--_font-size--heading-xl);
      line-height: var(--_line-height--heading-xl);
    }

    &:where(.element-text--heading-2xl) {
      font-size: var(--_font-size--heading-2xl);
      line-height: var(--_line-height--heading-2xl);
    }
  }
/* Public RTE Variables */
  :root {
    /* Body Font Stack */
    --element-text-font-family--rte-body: var(--element-text-font-family--body);
    --element-text-font-family-fallback--rte-body: var(--element-text-font-family-fallback--body);
    --element-text-font-weight--rte-body: var(--element-text-font-weight--body);
    --element-text-letter-spacing--rte-body: var(--element-text-letter-spacing--body);
    --element-text-line-height--rte-body: var(--element-text-line-height--body);
    --element-text-text-transform--rte-body: var(--element-text-text-transform--body);

    /* Body Font Sizes */
    --element-text-font-size--rte-body: var(--element-text-font-size--body-md);
    --element-text-line-height--rte-body: var(--element-text-line-height--body);

    /* Heading Font Stack */
    --element-text-font-family--rte-heading: var(--element-text-font-family--heading);
    --element-text-font-family-fallback--rte-heading: var(--element-text-font-family-fallback--heading);
    --element-text-font-weight--rte-heading: var(--element-text-font-weight--heading);
    --element-text-letter-spacing--rte-heading: var(--element-text-letter-spacing--heading);
    --element-text-text-transform--rte-heading: var(--element-text-text-transform--heading);

    /* Heading Font Sizes */
    --element-text-font-size--rte-heading-h1: var(--element-text-font-size--heading-xl);
    --element-text-line-height--rte-heading-h1: var(--element-text-line-height--heading-xl);
    --element-text-font-size--rte-heading-h2: var(--element-text-font-size--heading-lg);
    --element-text-line-height--rte-heading-h2: var(--element-text-line-height--heading-lg);
    --element-text-font-size--rte-heading-h3: var(--element-text-font-size--heading-md);
    --element-text-line-height--rte-heading-h3: var(--element-text-line-height--heading-md);
    --element-text-font-size--rte-heading-h4: var(--element-text-font-size--heading-sm);
    --element-text-line-height--rte-heading-h4: var(--element-text-line-height--heading-sm);
    --element-text-font-size--rte-heading-h5: var(--element-text-font-size--heading-xs);
    --element-text-line-height--rte-heading-h5: var(--element-text-line-height--heading-xs);
    --element-text-font-size--rte-heading-h6: var(--element-text-font-size--heading-xs);
  }

  .element-text.element-text--rte {
    /* Body Font Stack */
    --_font-family--rte-body: var(--element-text-font-family--rte-body);
    --_font-family-fallback--rte-body: var(--element-text-font-family-fallback--rte-body);
    --_font-weight--rte-body: var(--element-text-font-weight--rte-body);
    --_letter-spacing--rte-body: var(--element-text-letter-spacing--rte-body);
    --_text-transform--rte-body: var(--element-text-text-transform--rte-body);

    /* Body Font Sizes */
    --_line-height--rte-body: var(--element-text-line-height--rte-body);
    --_font-size--rte-body: var(--element-text-font-size--rte-body);

    /* Heading Font Stack */
    --_font-family--rte-heading: var(--element-text-font-family--rte-heading);
    --_font-family-fallback--rte-heading: var(--element-text-font-family-fallback--rte-heading);
    --_font-weight--rte-heading: var(--element-text-font-weight--rte-heading);
    --_letter-spacing--rte-heading: var(--element-text-letter-spacing--rte-heading);
    --_text-transform--rte-heading: var(--element-text-text-transform--rte-heading);

    /* Heading Font Sizes */
    --_font-size--rte-heading-h1: var(--element-text-font-size--rte-heading-h1);
    --_line-height--rte-heading-h1: var(--element-text-line-height--rte-heading-h1);
    --_font-size--rte-heading-h2: var(--element-text-font-size--rte-heading-h2);
    --_line-height--rte-heading-h2: var(--element-text-line-height--rte-heading-h2);
    --_font-size--rte-heading-h3: var(--element-text-font-size--rte-heading-h3);
    --_line-height--rte-heading-h3: var(--element-text-line-height--rte-heading-h3);
    --_font-size--rte-heading-h4: var(--element-text-font-size--rte-heading-h4);
    --_line-height--rte-heading-h4: var(--element-text-line-height--rte-heading-h4);
    --_font-size--rte-heading-h5: var(--element-text-font-size--rte-heading-h5);
    --_line-height--rte-heading-h5: var(--element-text-line-height--rte-heading-h5);
    --_font-size--rte-heading-h6: var(--element-text-font-size--rte-heading-h6);
    --_line-height--rte-heading-h6: var(--element-text-line-height--rte-heading-h6);

    font-size: var(--_font-size--rte-body);
    font-family: var(--_font-family--rte-body), var(--_font-family-fallback--rte-body);
    font-weight: var(--_font-weight--rte-body);
    letter-spacing: var(--_letter-spacing--rte-body);
    text-transform: var(--_text-transform--rte-body);
    line-height: var(--_line-height--rte-body);

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
      font-family: var(--_font-family--rte-heading), var(--_font-family-fallback--rte-heading);
      font-weight: var(--_font-weight--rte-heading);
      letter-spacing: var(--_letter-spacing--rte-heading);
      text-transform: var(--_text-transform--rte-heading);
      margin: 0 0 var(--size-4);

      @media only screen and (min-width: 769px) {
        margin: 0 0 var(--size-5);
      }
    }

    h6 {
      font-size: var(--_font-size--rte-heading-h6);
      line-height: var(--_line-height--rte-heading-h6);
    }

    h5 {
      font-size: var(--_font-size--rte-heading-h5);
      line-height: var(--_line-height--rte-heading-h5);
    }

    h4 {
      font-size: var(--_font-size--rte-heading-h4);
      line-height: var(--_line-height--rte-heading-h4);
    }

    h3 {
      font-size: var(--_font-size--rte-heading-h3);
      line-height: var(--_line-height--rte-heading-h3);
    }

    h2 {
      font-size: var(--_font-size--rte-heading-h2);
      line-height: var(--_line-height--rte-heading-h2);
    }

    h1 {
      font-size: var(--_font-size--rte-heading-h1);
      line-height: var(--_line-height--rte-heading-h1);
    }

    a {
      text-decoration: underline;
    }

    p {
      margin-bottom: var(--size-8);

      &:last-child {
        margin-bottom: 0;
      }
    }

    & table {
      @media only screen and (max-width: 768px) {
        & td,
        & th {
          padding: 6px 8px;
        }
      }
    }

    .table-wrapper {
      max-width: 100%;
      overflow: auto;
      -webkit-overflow-scrolling: touch;
    }

    .video-wrapper {
      position: relative;
      overflow: hidden;
      max-width: 100%;
      padding-bottom: 56.25%;

      & iframe,
      & video {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
      }
    }
  }
:root {
    --element-text-font-family: initial;
    --element-text-font-family-fallback: initial;
    --element-text-font-weight: initial;
    --element-text-letter-spacing: initial;
    --element-text-text-transform: initial;
    --element-text-line-height: initial;
    --element-text-color: initial;
    --element-text-font-size: initial;
  }

  .element-text {
    /* Base Typography Variables */
    --_font-family: var(--element-text-font-family);
    --_font-family-fallback: var(--element-text-font-family-fallback);
    --_font-weight: var(--element-text-font-weight);
    --_letter-spacing: var(--element-text-letter-spacing);
    --_text-transform: var(--element-text-text-transform);
    --_line-height: var(--element-text-line-height);
    --_color: var(--element-text-color, currentColor);
    --_font-size: var(--element-text-font-size);

    font-family: var(--_font-family), var(--_font-family-fallback);
    font-weight: var(--_font-weight);
    letter-spacing: var(--_letter-spacing);
    text-transform: var(--_text-transform);
    line-height: var(--_line-height);
    color: var(--_color);
    font-size: var(--_font-size);
    margin: 0;
    -webkit-font-smoothing: antialiased;

    &.element-text--price {
      sup {
        top: -0.5em;
        font-size: 60%;
      }
    }

    &.element-text--align-start {
      text-align: start;
    }

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

    &.element-text--align-end {
      text-align: end;
    }

    &.element-text--align-justify {
      text-align: justify;
    }

    &.element-text--break-word {
      word-break: break-word;
    }

    &.element-text--truncate {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    &.element-text--visually-hidden {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      border: 0;
    }

    &.element-text--line-through {
      text-decoration: line-through;
    }

    &.element-text--line-through.element-text--price-superscript {
      text-decoration: none;

      span {
        text-decoration: line-through;
      }
      
      sup {
        text-decoration: line-through;
        position: relative;
        top: -0.5em;
        font-size: 60%;
      }
    }

    &.element-text--underline {
      text-decoration: underline;
    }

    &.element-text--uppercase {
      text-transform: uppercase;
    }

    &.element-text--lowercase {
      text-transform: lowercase;
    }

    &.element-text--capitalize {
      text-transform: capitalize;
    }
  }
video-media {
    --default-aspect-ratio: 16 / 9;

    display: block;
    position: relative;
    height: 100%;
    aspect-ratio: var(--aspect-ratio, var(--default-aspect-ratio));
  }

  video-media > :is(video, iframe, img, svg) {
    border: 0;
    width: 100%;
    height: 100%;
    transition:
      opacity 0.2s ease-in-out,
      visibility 0.2s ease-in-out;
  }

  video-media > img,
  video-media > svg,
  video-media > video:not(:fullscreen) {
    object-fit: cover;
    object-position: center;
  }

  .element-video[data-background='true'] > video-media,
  .element-video[data-background='true'] > .element-placeholder {
    position: absolute;
    height: 100%;
    width: 100%;
  }

  video-media:not([loaded]) > :is(video, iframe),
  video-media[loaded] > img,
  video-media[loaded] > svg {
    visibility: hidden;
    opacity: 0;
  }
.product-form__submit-button--pulsing {
    animation: product-form-pulse 1.5s ease-in-out infinite;
    pointer-events: none;
    opacity: 0.6;
  }
  
  @keyframes product-form-pulse {
    0%, 100% { opacity: 0.6; }
    50% { opacity: 1; }
  }
product-form-messages {
    display: inline;
  }

  product-form-messages.hide {
    display: none;
  }
/* Public Layout Grid Tokens */
  :root {
    /* Layout Grid Gap Sizes - These are assigned by the value passed to the 'gap' param */
    --layout-grid-gap-size-none: 0px;
    --layout-grid-gap-size-3xs: var(--gap-size-3xs);
    --layout-grid-gap-size-2xs: var(--gap-size-2xs);
    --layout-grid-gap-size-xs: var(--gap-size-xs);
    --layout-grid-gap-size-sm: var(--gap-size-sm);
    --layout-grid-gap-size-md: var(--gap-size-md);
    --layout-grid-gap-size-lg: var(--gap-size-lg);
    --layout-grid-gap-size-xl: var(--gap-size-xl);
    --layout-grid-gap-size-2xl: var(--gap-size-2xl);

    /* Layout Grid Line Sizes - These are assigned by the value passed to the 'lines' param */
    --layout-grid-line-size-none: 0px;
    --layout-grid-line-size-xs: var(--line-size-xs);
    --layout-grid-line-size-sm: var(--line-size-sm);
    --layout-grid-line-size-md: var(--line-size-md);
    --layout-grid-line-size-lg: var(--line-size-lg);
    --layout-grid-line-size-xl: var(--line-size-xl);

    --layout-grid-line-color-shade: 12%;
  }
:root {
    --layout-section-max-inline-size: var(--page-width, 1500px);

    --layout-section-padding-inline: var(--size-4);
    --layout-section-padding-inline--xs: initial;
    --layout-section-padding-inline--sm: initial;
    --layout-section-padding-inline--md: initial;
    --layout-section-padding-inline--lg: initial;
    --layout-section-padding-inline--xl: initial;

    --layout-section-padding-block: var(--size-8);
    --layout-section-padding-block--xs: initial;
    --layout-section-padding-block--sm: initial;
    --layout-section-padding-block--md: initial;
    --layout-section-padding-block--lg: initial;
    --layout-section-padding-block--xl: initial;

    --layout-section-color: initial;
    --layout-section-background: initial;
  }

  .layout-section {
    --_max-inline-size: var(--layout-section-max-inline-size);

    --_padding-inline--xs: var(--layout-section-padding-inline--xs, var(--layout-section-padding-inline));
    --_padding-inline--sm: var(--layout-section-padding-inline--sm, var(--_padding-inline--xs));
    --_padding-inline--md: var(--layout-section-padding-inline--md, var(--_padding-inline--sm));
    --_padding-inline--lg: var(--layout-section-padding-inline--lg, var(--_padding-inline--md));
    --_padding-inline--xl: var(--layout-section-padding-inline--xl, var(--_padding-inline--lg));
    --_padding-inline: var(--_padding-inline--xs);

    --_padding-block--xs: var(--layout-section-padding-block--xs, var(--layout-section-padding-block));
    --_padding-block--sm: var(--layout-section-padding-block--sm, var(--_padding-block--xs));
    --_padding-block--md: var(--layout-section-padding-block--md, var(--_padding-block--sm));
    --_padding-block--lg: var(--layout-section-padding-block--lg, var(--_padding-block--md));
    --_padding-block--xl: var(--layout-section-padding-block--xl, var(--_padding-block--lg));
    --_padding-block: var(--_padding-block--xs);

    --_color: var(--layout-section-color, var(--color-primary, #000));
    --_background: var(--layout-section-background, var(--color-secondary, #fff));

    display: flex;
    width: 100%;
    position: relative;
    justify-content: center;
    background: var(--_background);
    color: var(--_color);
    padding-inline: var(--_padding-inline);
    padding-block: var(--_padding-block);

    & > .layout-section__content {
      display: block;
      max-inline-size: var(--_max-inline-size);
      z-index: 1;
      width: 100%;
      flex-grow: 1;
    }

    &.layout-section--full-width > .layout-section__content {
      max-inline-size: 100%;
    }

    &.layout-section--padding-none {
      padding-block: 0;
    }

    &.layout-section--padding-top {
      padding-block-end: 0;
    }

    &.layout-section--padding-bottom {
      padding-block-start: 0;
    }
  }
/* Public Layout Stack Tokens */
  :root {
    /* Layout Stack Gap Sizes - These are assigned by the value passed to the 'gap' param */
    --layout-stack-gap-size-none: 0px;
    --layout-stack-gap-size-3xs: var(--gap-size-3xs);
    --layout-stack-gap-size-2xs: var(--gap-size-2xs);
    --layout-stack-gap-size-xs: var(--gap-size-xs);
    --layout-stack-gap-size-sm: var(--gap-size-sm);
    --layout-stack-gap-size-md: var(--gap-size-md);
    --layout-stack-gap-size-lg: var(--gap-size-lg);
    --layout-stack-gap-size-xl: var(--gap-size-xl);
    --layout-stack-gap-size-2xl: var(--gap-size-2xl);

    /* Layout Stack Default Layout */
    --layout-stack-margin: 0;
  }
:root {
    --layout-sticky-scroller-top: 20px;
  }

	sticky-scroller {
	  --_top: var(--layout-sticky-scroller-top);
	
	  display: block;
	  position: sticky;
	  top: var(--_top);
	}
:root {
  --overlay-drawer-size: 480px;
  --overlay-drawer-gutter: var(--gap-size-none); /* better name? */
  --overlay-drawer-label-margin-bottom: var(--size-4);

  --overlay-drawer-padding-inline: var(--size-4);
  --overlay-drawer-padding-inline--xs: initial;
  --overlay-drawer-padding-inline--sm: initial;
  --overlay-drawer-padding-inline--md: initial;
  --overlay-drawer-padding-inline--lg: initial;
  --overlay-drawer-padding-inline--xl: initial;

  --overlay-drawer-padding-block: var(--size-8);
  --overlay-drawer-padding-block--xs: initial;
  --overlay-drawer-padding-block--sm: initial;
  --overlay-drawer-padding-block--md: initial;
  --overlay-drawer-padding-block--lg: initial;
  --overlay-drawer-padding-block--xl: initial;

  --overlay-drawer-background: initial;
  --overlay-drawer-overlay-color: rgba(0, 0, 0, 0.5);

  --overlay-drawer-z-index: 9999;
  --overlay-drawer-transition-duration: 0.3s;
  --overlay-drawer-transition-timing-function: ease-in-out;
}

/* Scroll lock when drawer is open */
body:has(.overlay-drawer[open='true']) {
  overflow: hidden;
}

.overlay-drawer {
  --_width: calc(100% - var(--overlay-drawer-gutter));
  --_max-width: var(--overlay-drawer-size);

  --_padding-inline--xs: var(--overlay-drawer-padding-inline--xs, var(--overlay-drawer-padding-inline));
  --_padding-inline--sm: var(--overlay-drawer-padding-inline--sm, var(--_padding-inline--xs));
  --_padding-inline--md: var(--overlay-drawer-padding-inline--md, var(--_padding-inline--sm));
  --_padding-inline--lg: var(--overlay-drawer-padding-inline--lg, var(--_padding-inline--md));
  --_padding-inline--xl: var(--overlay-drawer-padding-inline--xl, var(--_padding-inline--lg));
  --_padding-inline: var(--_padding-inline--xs);

  --_padding-block--xs: var(--overlay-drawer-padding-block--xs, var(--overlay-drawer-padding-block));
  --_padding-block--sm: var(--overlay-drawer-padding-block--sm, var(--_padding-block--xs));
  --_padding-block--md: var(--overlay-drawer-padding-block--md, var(--_padding-block--sm));
  --_padding-block--lg: var(--overlay-drawer-padding-block--lg, var(--_padding-block--md));
  --_padding-block--xl: var(--overlay-drawer-padding-block--xl, var(--_padding-block--lg));
  --_padding-block: var(--_padding-block--xs);

  --_background: var(--overlay-drawer-background, var(--color-secondary, #fff));

  display: block;
  position: fixed;
  inset: 0;
  height: 100%;
  width: 100%;
  transition-property: background-color;
  transition-duration: var(--overlay-drawer-transition-duration);
  transition-timing-function: var(--overlay-drawer-transition-timing-function);
  cursor: pointer;
  z-index: var(--overlay-drawer-z-index);

  &[open='false'] {
    pointer-events: none;
  }

  &[open='true'] {
    background-color: var(--overlay-drawer-overlay-color);
  }
}

.overlay-drawer__inner {
  background: var(--_background);
  cursor: initial;
  position: absolute;
  width: var(--_width);
  max-width: var(--_max-width);
  top: 0;
  transition-property: transform;
  transition-duration: var(--overlay-drawer-transition-duration);
  transition-timing-function: var(--overlay-drawer-transition-timing-function);
  height: 100%;
  overflow-y: auto;
  padding-inline: var(--_padding-inline);
  padding-block: var(--_padding-block);

  .overlay-drawer--start & {
    left: max(calc(-1 * var(--_width)), calc(-1 * var(--_max-width)));
  }

  .overlay-drawer--start[open='true'] & {
    transform: translateX(100%);
  }

  .overlay-drawer--end & {
    right: max(calc(-1 * var(--_width)), calc(-1 * var(--_max-width)));
  }

  .overlay-drawer--end[open='true'] & {
    transform: translateX(-100%);
  }
}

.overlay-drawer__header {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-block-end: var(--overlay-drawer-label-margin-bottom);

  &:has(.overlay-drawer__label) {
    justify-content: space-between;
  }
}

.overlay-drawer__close-button {
  line-height: 0;
}
overlay-lightbox {
    display: contents;
  }

  .overlay-lightbox__trigger {
    display: contents;
    cursor: pointer;
  }

  .overlay-lightbox__overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.95);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    box-sizing: border-box;
    opacity: 0;
    visibility: hidden;
  }

  .overlay-lightbox__overlay--open {
    opacity: 1;
    visibility: visible;
  }

  .overlay-lightbox__content {
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .overlay-lightbox__content img {
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .overlay-lightbox__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }

  .overlay-lightbox__nav--prev {
    left: 1rem;
  }

  .overlay-lightbox__nav--next {
    right: 1rem;
  }

  /* Hide navigation buttons when there's only one item in the group */
  .overlay-lightbox__overlay--single-item .overlay-lightbox__nav {
    display: none;
  }

  .lightbox-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
  }
product-hot-reload {
    contain: layout style paint;
  }

  .product-hot-reload--loading {
    opacity: 0.6;
    animation: pulse 1.5s ease-in-out infinite;
  }

  @keyframes pulse {
    0%, 100% { 
      opacity: 1;
    }
    50% { 
      opacity: 0.6;
    }
  }

  /* View Transitions API support */
  @supports (view-transition-name: none) {
    product-hot-reload {
      view-transition-name: product-content;
    }
  }
gift-recipient-form {
	  display: block;
	  position: relative;
	
	  & .recipient-fields {
	    display: none;
	  }
	}
.media-gallery {
    --media-gallery-thumb-size: 80px;
    --media-gallery-thumb-gap: var(--gap-size-xs);

    display: block;
    position: relative;
    overflow: hidden;
  }

  .media-gallery__main {
    position: relative;
    width: 100%;
    flex: 1;
    overflow: hidden;
    min-height: 400px;
    aspect-ratio: 1;
    touch-action: pan-y pinch-zoom;
    transition: height 0.3s ease-in-out;
  }

  /* Disable transition when setting height programmatically */
  .media-gallery__main--no-transition {
    transition: none;
  }

  .media-gallery__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    opacity: 0.7;
    transition: opacity 0.2s ease;
  }

  .media-gallery__main:hover .media-gallery__nav {
    opacity: 1;
  }

  .media-gallery__nav--prev {
    left: var(--gap-size-sm);
  }

  .media-gallery__nav--next {
    right: var(--gap-size-sm);
  }

  .media-gallery__nav:focus-visible {
    opacity: 1;
  }

  .media-gallery__slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 1;
  }

  .media-gallery__slide--is-animating {
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  }

  .media-gallery__slide--active {
    opacity: 1;
    transform: translateX(0);
    z-index: 2;
  }

  .media-gallery__slide--prev {
    transform: translateX(-100%);
  }

  .media-gallery__slide--next {
    transform: translateX(100%);
  }

  .media-gallery__slide img:not(.overlay-lightbox__overlay img) {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .media-gallery__thumbnails {
    display: block;
    width: fit-content;
    max-width: 100%;

    max-height: 650px;
    scrollbar-width: thin;
    scrollbar-color: var(--color-border) transparent;
  }

  .media-gallery__thumbnails--top,
  .media-gallery__thumbnails--bottom {
    overflow-x: auto;
  }

  .media-gallery__thumbnails--left,
  .media-gallery__thumbnails--right {
    overflow-y: auto;
  }

  /* Webkit scrollbar styling */
  .media-gallery__thumbnails::-webkit-scrollbar {
    height: 4px;
    width: 4px;
  }

  .media-gallery__thumbnails::-webkit-scrollbar-track {
    background: transparent;
  }

  .media-gallery__thumbnails::-webkit-scrollbar-thumb {
    background: var(--color-border);
  }

  .media-gallery__thumbnails::-webkit-scrollbar-thumb:hover {
    background: var(--color-text-muted);
  }

  .media-gallery__thumb {
    position: relative;
    border: 2px solid transparent;
    background: none;
    padding: 0;
    cursor: pointer;
    overflow: hidden;
    transition: border-color 0.2s ease;
    flex-shrink: 0;
    width: var(--media-gallery-thumb-size);
    height: var(--media-gallery-thumb-size);
  }

  .media-gallery__thumb--active {
    border-color: var(--color-primary);
  }

  .media-gallery__thumb:hover {
    border-color: var(--color-primary);
    opacity: 0.8;
  }

  .media-gallery__thumb:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
  }

  .media-gallery__thumb-image {
    position: relative;
    width: 100%;
    max-width: var(--media-gallery-thumb-size);
    max-height: var(--media-gallery-thumb-size);
    height: var(--media-gallery-thumb-size);
    aspect-ratio: 1;
  }

  .media-gallery__thumb-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .media-gallery__thumb-icon {
    display: flex;
    position: absolute;
    top: var(--gap-size-2xs);
    right: var(--gap-size-2xs);
    background: var(--color-primary);
    color: var(--color-secondary);
    border-radius: 0;
    padding: var(--gap-size-2xs);
    z-index: 1;
  }

  .media-gallery__thumb-icon .element-icon {
    width: 12px;
    height: 12px;
  }


  .media-gallery .shopify-model-viewer-ui,
  .media-gallery .shopify-model-viewer-ui model-viewer {
      width: 100%;
      height: 100%;
  }

  /* Responsive adjustments */
  @media (max-width: 768px) {
    .media-gallery__main {
      min-height: 300px;
    }


    .media-gallery__nav {
      opacity: 1;
    }
  }
.media-grid {
    overflow-x: auto;
    overflow-y: hidden;
  }

  .media-grid__container {
    min-width: 350px;
    flex: 1 1 300px;

    & img:not(.overlay-lightbox__overlay img) {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }

  .media-grid .shopify-model-viewer-ui,
  .media-grid .shopify-model-viewer-ui model-viewer {
    width: 100%;
    height: 100%;
  }
.element-icon-in-stock {
	  fill: var(--success-green, #56ad6a);
	}
	
	.element-icon-out-of-stock {
	  fill: var(--color-error, #ba4444);
	}

	.element-text__store-address p {
	  margin: 0;
	}
@keyframes slide-fade-y {
    0% {
      opacity: 0;
      transform: translateY(var(--slide-fade-translate-y, 30px));
    }

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

  @keyframes countdown {
    from {
      stroke-dashoffset: 22px;
    }

    to {
      stroke-dashoffset: 0;
    }
  }

  .slideshow {
    --autoplay-interval: 8s;
    --slide-text-color: #fff;
    --slide-fade-translate-y: 30px;

    position: relative;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: var(--size-16);
  }

  .slideshow--flex-spacing.slideshow {
    margin-top: 0;
  }

  .slideshow-slide__content-desktop a,
  .slideshow-slide__content-mobile a {
    color: var(--color-links);
    text-decoration: none;
    position: relative;
    cursor: pointer;
    transition: color 0.1s linear;
  }

  .slideshow-slide__content-desktop a:hover,
  .slideshow-slide__content-mobile a:hover,
  .slideshow-slide__content-desktop a:focus,
  .slideshow-slide__content-mobile a:focus {
    color: var(--color-link-hover);
  }

  [data-scroll-class] {
    opacity: 0;
    animation-delay: 0.2s;
  }

  .slideshow__wrapper {
    display: flex;
    overflow: hidden;
  }

  .slideshow--single-slide .slideshow__wrapper {
    width: 100%;
    overflow: hidden;
    position: relative;
  }

  .slideshow-slide {
    position: relative;
    flex-shrink: 0;
    width: 100%;
  }

  .swiper-wrapper {
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    will-change: transform;
  }

  .slide-element {
    opacity: 0;
  }

  /* Slide element animation */
  .slide--active .slide-element {
    --slide-fade-translate-y: 30px;

    opacity: 1;
    animation: slide-fade-y 0.75s cubic-bezier(0.4, 0, 0.2, 1) both paused;
    animation-delay: calc(100ms * var(--slide-element-index, 0));
  }

  .slideshow--text-animation-none .slide-element {
    opacity: 1 !important;
    animation: none !important;
  }

  /* stylelint-disable selector-class-pattern */
  .slideshow--text-animation-fadeIn .slide-element {
    --slide-fade-translate-y: 0px;
  }

  .slideshow--text-animation-fadeInUp .slide-element {
    --slide-fade-translate-y: 30px;
  }

  .slideshow--text-animation-fadeInDown .slide-element {
    --slide-fade-translate-y: -30px;
  }
  /* stylelint-enable selector-class-pattern */

  .slide {
    opacity: 1;
  }

  /* Slide animation playback control */
  .slideshow--animate .slide-element {
    animation-play-state: running;
  }

  .slide--active .slide-element {
    animation-play-state: running;
  }

  .shopify-section:first-child .slideshow {
    margin-top: 0;
  }

  .slideshow--width-content {
    max-width: 1400px;
    padding-right: var(--size-1-5);
    padding-left: var(--size-1-5);
    margin-right: auto;
    margin-left: auto;
  }

  .slideshow--width-standard {
    width: 95%;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
  }

  .slideshow-slide__image-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
  }

  .slideshow-slide__content-background-link {
    color: var(--slide-text-color);
    text-decoration: none;
  }

  .slideshow-slide__background-link:focus::before {
    position: absolute;
    inset: 0;
    z-index: 10;
    pointer-events: none;
    content: '';
    border: 2px solid var(--slide-text-color, #fff);
  }

  .slideshow-slide__content {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    width: 80%;
    padding: var(--size-4);
    color: var(--slide-text-color);
    text-align: center;
    transform: translate(-50%, -50%);
    transition: none !important;
  }

  .slideshow-slide__content--mobile-left {
    text-align: left;
  }

  .slideshow-slide__content--mobile-center {
    text-align: center;
  }

  .slideshow-slide__content--mobile-right {
    text-align: right;
  }

  .slideshow-slide__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .slideshow-slide__overlay {
    position: absolute;
    inset: 0;
  }

  .slideshow--content-hidden .slideshow-slide__content {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  .slideshow-slide__content-desktop {
    display: none;
  }

  .slideshow-slide__content-mobile {
    display: block;
  }

  .slideshow-slide__heading {
    margin-top: 0;
    margin-bottom: 0;
    font-family: var(--heading-font-family);
    font-size: calc(var(--heading-font-scale, 1) * var(--text-size-6-5));
    font-style: var(--heading-font-style);
    font-weight: var(--heading-font-weight);
    line-height: var(--line-height-md);
    text-transform: var(--heading-font-capitalization, initial);
    letter-spacing: var(--heading-letter-spacing, initial);
    word-wrap: break-word;
  }

  .slideshow-slide__subheading {
    margin-top: var(--size-3);
    margin-bottom: 0;
    font-family: var(--subheading-font-family);
    font-size: var(--text-size-4);
    line-height: var(--line-height-lg);
    word-wrap: break-word;
  }

  .slideshow-slide__preheading {
    margin-top: 0;
    margin-bottom: var(--size-2-5);
    font-family: var(--subheading-font-family);
    font-size: var(--text-size-4);
    line-height: var(--line-height-lg);
    word-wrap: break-word;
  }

  /* Base button styles */
  .slideshow-slide__button {
    display: inline-block;
    margin-top: var(--size-5);
    margin-bottom: 0;
    padding: var(--size-2-5) var(--size-4);
    font-family: var(--button-font-family);
    font-size: var(--body-md-font-size); /* 720px - 1024px */
    font-weight: var(--font-weight-700);
    text-align: center;
    text-decoration: none;
    text-transform: var(--button-font-capitalization, initial);
    letter-spacing: var(--button-letter-spacing, initial);
    cursor: pointer;
    border-radius: var(--radius-xs);
    transition: all 0.2s ease;
  }

  .slideshow-slide__button + .slideshow-slide__button {
    margin-left: var(--size-1-5);
  }

  .slideshow-slide__button:hover,
  .slideshow-slide__button:focus {
    outline: none;
  }

  .slideshow-slide__button:focus,
  .slideshow-slide__button:focus:hover {
    box-shadow:
      0 0 0 2px var(--color-secondary),
      0 0 0 5px rgb(17 153 255 / 40%),
      0 3px 8px var(--color-border-softer);
  }

  .slideshow-slide__button:not(.disabled):hover {
    box-shadow: 0 3px 8px var(--color-border-softer);
  }

  .slideshow-slide__button--primary {
    color: var(--color-button-text);
    background-color: var(--color-button-background);
    border: 1px solid var(--color-button-background);
  }

  .slideshow-slide__button--primary:active {
    background: var(--color-button-background-focus);
    border: 1px solid var(--color-button-background-focus);
  }

  .slideshow-slide__button--primary.disabled,
  .slideshow-slide__button--primary:disabled {
    color: var(--color-button-text);
    cursor: default;
    background-color: var(--color-button-disable);
    border: 1px solid var(--color-button-disable);
  }

  .slideshow-slide__button--primary:not(.disabled):hover {
    background: var(--color-button-background-hover);
    border: 1px solid var(--color-button-background-hover);
  }

  .slideshow-slide__button--secondary {
    color: var(--color-button-secondary-text);
    background-color: var(--color-button-secondary-background);
    border: 1px solid var(--color-button-secondary-border);
  }

  .slideshow-slide__button--secondary:active {
    background-color: var(--color-button-secondary-background-focus);
    border-color: var(--color-button-secondary-border);
  }

  .slideshow-slide__button--secondary.disabled,
  .slideshow-slide__button--secondary:disabled {
    color: rgb(255 255 255 / 50%);
    cursor: default;
    background-color: transparent;
    border: 1px solid rgb(255 255 255 / 30%);
  }

  .slideshow-slide__button--secondary:not(.disabled):hover {
    background: var(--color-button-secondary-background-hover);
    border: 1px solid var(--color-button-secondary-border-hover);
  }

  /* stylelint-disable */
  .slideshow-slide__button-wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    width: 100%;
  }

  .slideshow-slide__button-wrapper .slideshow-slide__button {
    flex: 1 1 0;
  }

  .slideshow-slide__button--button--primary,
  .slideshow-slide__button--button--secondary,
  .slideshow-slide__button--button--link-style {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: var(--button-font-weight);
    letter-spacing: var(--button-letter-spacing);
    text-transform: var(--button-font-capitalization);
    font-style: var(--button-font-style);
    box-sizing: border-box;
    margin: var(--size-2) 0 0 0 !important;
  }

  .slideshow-slide__button--button--primary {
    font-size: var(--button-primary-font-size) !important;
    line-height: var(--button-primary-line-height);
    border-radius: var(--button-primary-border-radius);
    height: auto;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: normal;
    transition: all var(--button-transition-speed) ease-in-out;
    padding: calc(0.375em - 1px) 1em !important;
    color: var(--button-primary-text-color);
    background-color: var(--button-primary-bg-color);
    border: 1px solid var(--button-primary-border-color);
  }

  .slideshow-slide__button--button--primary:hover,
  .slideshow-slide__button--button--primary:focus {
    color: var(--button-primary-text-color-highlight);
    background-color: var(--button-primary-bg-color-highlight);
    border: 1px solid var(--button-primary-border-color-highlight);
  }

  .slideshow-slide__button--button--secondary {
    font-size: var(--button-secondary-font-size) !important;
    line-height: var(--button-secondary-line-height);
    border-radius: var(--button-secondary-border-radius);
    height: auto;
    max-width: 100%;
    white-space: normal;
    transition: all var(--button-transition-speed) ease-in-out;
    padding: calc(0.375em - 1px) 1em !important;
    color: var(--button-secondary-text-color);
    background-color: var(--button-secondary-bg-color);
    border: 1px solid var(--button-secondary-border-color);
  }

  .slideshow-slide__button--button--secondary:hover,
  .slideshow-slide__button--button--secondary:focus {
    color: var(--button-secondary-text-color-highlight);
    background-color: var(--button-secondary-bg-color-highlight);
    border: 1px solid var(--button-secondary-border-color-highlight);
  }

  .slideshow-slide__button--button--link-style {
    border: none;
    border-bottom: var(--button-link-underline-thickness) var(--button-link-underline-style);
    border-radius: 0;
    font-size: var(--button-link-style-font-size) !important;
    line-height: var(--button-link-style-line-height);
    padding: 0 !important;
    height: auto;
    max-width: 100%;
    white-space: normal;
    background: transparent;
    transition: all var(--button-transition-speed) linear;
    text-align: center;
    color: var(--button-link-text-color);
    border-bottom-color: var(--button-link-text-color);
  }

  .slideshow-slide__button--button--link-style:hover,
  .slideshow-slide__button--button--link-style:focus {
    color: var(--button-link-text-color-highlight);
    border-bottom-color: var(--button-link-text-color-highlight) !important;
    background: transparent;
    box-shadow: none !important;
  }

  @media screen and (max-width: 480px) {
    .slideshow-slide__button-wrapper {
      flex-direction: column;
      width: 100%;
      gap: 10px;
    }

    .slideshow-slide__button-wrapper .slideshow-slide__button {
      width: 100%;
    }
  }
  /* stylelint-enable selector-class-pattern */

  /* Styling for when the grab cursor is enabled */
  .slideshow--grab-cursor .slideshow-slide {
    cursor: grab;
  }

  .slideshow--grab-cursor .slideshow-slide:active {
    cursor: grabbing;
  }

  .slideshow--grab-cursor .slideshow-slide__content-background-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    text-decoration: none;
    display: block;
  }

  .slideshow--grab-cursor .slideshow-slide__button,
  .slideshow--grab-cursor .slideshow-slide__content a:not(.slideshow-slide__content-background-link),
  .slideshow--grab-cursor .slideshow-slide__content button {
    position: relative;
    z-index: 10;
    pointer-events: auto;
  }

  .slideshow--grab-cursor .slideshow-slide__preheading a,
  .slideshow--grab-cursor .slideshow-slide__heading a,
  .slideshow--grab-cursor .slideshow-slide__subheading a {
    position: relative;
    z-index: 10;
    pointer-events: auto;
  }

  /* Pagination styles */
  .slideshow-pagination {
    position: absolute;
    display: flex;
    justify-content: center;
    padding: 0 !important;
    list-style: none;
    opacity: 0;
  }

  .slideshow--pagination-color .slideshow-pagination__button {
    background-color: var(--pagination-color) !important;
  }

  .slideshow-pagination__dot {
    margin: 0;
  }

  .slideshow-pagination__button {
    display: inline-block;
    width: 7px;
    height: 7px;
    padding: 0;
    margin: 0 7.5px;
    cursor: pointer;
    outline: none;
    background-color: var(--slide-text-color, #fff) !important;
    border: none;
    border-radius: 50%;
    opacity: 0.25;
    transition:
      transform 300ms cubic-bezier(0.4, 0, 0.2, 1),
      opacity 300ms cubic-bezier(0.4, 0, 0.2, 1);
  }

  .slideshow-pagination__button:focus-visible {
    outline: 2px solid var(--slide-text-color, #fff);
    outline-offset: 2px;
  }

  .slideshow-pagination__button[data-selected='true'],
  .swiper-pagination-bullet-active {
    opacity: 1;
    transform: scale(1.25);
  }

  /* Base navigation arrow styles for all types */
  .slideshow .swiper-button-prev,
  .slideshow .swiper-button-next {
    position: absolute;
    top: 50%;
    width: 40px;
    height: 40px;
    padding: 5px;
    margin-top: 0;
    color: var(--slide-text-color);
    cursor: pointer;
    background-color: transparent;
  }

  .slideshow .swiper-button-prev {
    right: auto;
    left: 35px;
  }

  .slideshow .swiper-button-next {
    right: 35px;
    left: auto;
  }

  .slideshow .swiper-button-prev:disabled,
  .slideshow .swiper-button-next:disabled {
    cursor: default;
    opacity: 0.25;
  }

  .slideshow .swiper-button-prev::after,
  .slideshow .swiper-button-next::after {
    content: '';
  }

  /* Normal arrow style */
  .slideshow--arrow-style-normal .swiper-button-prev {
    opacity: 0;
    transform: translate(-10px, -50%);
  }

  .slideshow--arrow-style-normal .swiper-button-next {
    opacity: 0;
    transform: translate(10px, -50%);
  }

  .slideshow--arrow-style-normal .swiper-button-prev::before,
  .slideshow--arrow-style-normal .swiper-button-next::before {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    width: 22px;
    height: 22px;
    content: '';
    border-color: var(--slide-text-color);
    border-style: solid;
    border-width: 2px 2px 0 0;
    transition: transform 0.2s ease;
  }

  .slideshow--arrow-style-normal .swiper-button-prev::before {
    transform: translate(-30%, -50%) rotate(-135deg);
  }

  .slideshow--arrow-style-normal .swiper-button-next::before {
    transform: translate(-70%, -50%) rotate(45deg);
  }

  .slideshow--arrow-style-normal .swiper-button-prev:hover::before {
    transform: translate(-30%, -50%) rotate(-135deg) scale(1.2);
  }

  .slideshow--arrow-style-normal .swiper-button-next:hover::before {
    transform: translate(-70%, -50%) rotate(45deg) scale(1.2);
  }

  /* Circle arrow style */
  .slideshow--arrow-style-circle .swiper-button-prev,
  .slideshow--arrow-style-circle .swiper-button-next {
    top: auto;
    bottom: 25px;
    z-index: 100;
    width: 44px;
    height: 44px;
    pointer-events: auto;
    background: hsla(0, 0%, 100%, 0.75);
    border-radius: 50%;
    opacity: 1;
    transition: background-color 0.3s ease-in-out;
  }

  .slideshow--arrow-style-circle .swiper-button-prev {
    left: 35px;
    transform: translateY(0);
  }

  .slideshow--arrow-style-circle .swiper-button-next {
    right: 35px;
    transform: translateY(0);
  }

  .slideshow--arrow-style-circle .swiper-button-prev svg,
  .slideshow--arrow-style-circle .swiper-button-next svg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    transform: translate(-50%, -50%);
  }

  .slideshow--arrow-style-circle .swiper-button-prev svg .arrow,
  .slideshow--arrow-style-circle .swiper-button-next svg .arrow {
    fill: #333;
  }

  .slideshow--arrow-style-circle .swiper-button-prev:hover,
  .slideshow--arrow-style-circle .swiper-button-next:hover {
    background-color: #fff;
  }

  .slideshow--arrow-style-circle .slideshow-pagination {
    pointer-events: none;
  }

  .slideshow--arrow-style-circle .slideshow-pagination__button {
    pointer-events: auto;
  }

  /* Animation only for normal style */
  .slideshow--animate.slideshow--arrow-style-normal .swiper-button-prev,
  .slideshow--animate.slideshow--arrow-style-normal .swiper-button-next,
  .slideshow--animate .slideshow-pagination {
    opacity: 1;
    transform: translate(0, -50%);
    transition:
      opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1),
      transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    transition-delay: 0.4s;
  }

  .slideshow .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
  }

  .circle-timer {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 14px;
    transform: translate(-50%, -50%);
  }

  .circle-timer__svg {
    display: block;
    width: 14px;
    height: 14px;
    transform: rotateZ(270deg);
  }

  .circle-timer__background {
    opacity: 0.4;
    fill: none;
    stroke: var(--slide-text-color);
    stroke-width: 2px;
    stroke-linecap: round;
    stroke-dasharray: 22px; /* Circumference of the circle */
  }

  .circle-timer__countdown {
    fill: none;
    stroke: var(--slide-text-color);
    stroke-width: 2px;
    stroke-linecap: round;
    stroke-dasharray: 22px; /* Circumference of the circle */
    animation: countdown var(--autoplay-interval) linear infinite;
  }

  /* Styles related to autoplay. */
  [data-autoplay='true'] .slideshow-pagination__button {
    background-color: var(--slide-text-color, #fff);
    opacity: 0.25;
  }

  /* Hide the timer when autoplay is disabled. */
  [data-autoplay='false'] .circle-timer {
    display: none !important;
  }

  /* When autoplay is paused. */
  [data-autoplay-active='false'] .circle-timer,
  [data-autoplay-active='false'] .circle-timer__svg,
  [data-autoplay-active='false'] .circle-timer__background,
  [data-autoplay-active='false'] .circle-timer__countdown {
    display: none !important;
  }

  /* Support for themes that don't have the timer animation. */
  .slideshow--timer-disabled .circle-timer {
    display: none !important;
  }

  /* Hide the timer for inactive dots. */
  .slideshow-pagination__button:not([data-selected='true']) .circle-timer,
  .slideshow-pagination__button:not(.swiper-pagination-bullet-active) .circle-timer {
    display: none !important;
  }

  /* Dot style when autoplay is active. */
  [data-autoplay='true'][data-autoplay-active='true'] .slideshow-pagination__button[data-selected='true'],
  [data-autoplay='true'][data-autoplay-active='true'] .swiper-pagination-bullet-active {
    background-color: transparent !important;
    opacity: 1;
  }

  /* Dot style when autoplay is paused */
  [data-autoplay='true'][data-autoplay-active='false'] .slideshow-pagination__button[data-selected='true'],
  [data-autoplay='true'][data-autoplay-active='false'] .swiper-pagination-bullet-active {
    background-color: var(--slide-text-color, #fff);
    opacity: 1;
  }

  /* Support for themes that don't have the timer animation. */
  .slideshow--timer-disabled[data-autoplay='true'][data-autoplay-active='true']
    .slideshow-pagination__button[data-selected='true'],
  .slideshow--timer-disabled[data-autoplay='true'][data-autoplay-active='true'] .swiper-pagination-bullet-active {
    background-color: var(--pagination-color, #fff) !important;
    opacity: 1;
  }

  /* Pause animation on hover */
  [data-autoplay='true'][data-hover='true'] .circle-timer__countdown {
    animation-play-state: paused !important;
  }

  /* Fit screen height */

  /* Desktop with first-child */
  .slideshow--height-fit-screen.slideshow--section:first-child .slideshow-slide__image-wrapper {
    height: calc(100vh - var(--header-height, 0px));
  }
/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */

  /*
  Document
  ========
  */

  /**
  Use a better box model (opinionated).
  */

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

  /**
  1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
  2. Correct the line height in all browsers.
  3. Prevent adjustments of font size after orientation changes in iOS.
  4. Use a more readable tab size (opinionated).
  */

  html {
    font-family:
      system-ui,
      'Segoe UI',
      Roboto,
      Helvetica,
      Arial,
      sans-serif,
      'Apple Color Emoji',
      'Segoe UI Emoji'; /* 1 */
    line-height: 1.15; /* 2 */
    -webkit-text-size-adjust: 100%; /* 3 */
    tab-size: 4; /* 4 */
  }

  /*
  Sections
  ========
  */

  /**
  Remove the margin in all browsers.
  */

  body {
    margin: 0;
  }

  /*
  Text-level semantics
  ====================
  */

  /**
  Add the correct font weight in Chrome and Safari.
  */

  b,
  strong {
    font-weight: bolder;
  }

  /**
  1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
  2. Correct the odd 'em' font sizing in all browsers.
  */

  code,
  kbd,
  samp,
  pre {
    font-family:
      ui-monospace,
      SFMono-Regular,
      Consolas,
      'Liberation Mono',
      Menlo,
      monospace; /* 1 */
    font-size: 1em; /* 2 */
  }

  /**
  Add the correct font size in all browsers.
  */

  small {
    font-size: 80%;
  }

  /**
  Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
  */

  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }

  sub {
    bottom: -0.25em;
  }

  sup {
    top: -0.5em;
  }

  /*
  Tabular data
  ============
  */

  /**
  Correct table border color inheritance in Chrome and Safari. (https://issues.chromium.org/issues/40615503, https://bugs.webkit.org/show_bug.cgi?id=195016)
  */

  table {
    border-color: currentcolor;
  }

  /*
  Forms
  =====
  */

  /**
  1. Change the font styles in all browsers.
  2. Remove the margin in Firefox and Safari.
  */

  button,
  input,
  optgroup,
  select,
  textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 1 */
    line-height: 1.15; /* 1 */
    margin: 0; /* 2 */
  }

  /**
  Correct the inability to style clickable types in iOS and Safari.
  */

  button,
  [type='button'],
  [type='reset'],
  [type='submit'] {
    -webkit-appearance: button;
  }

  /**
  Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
  */

  legend {
    padding: 0;
  }

  /**
  Add the correct vertical alignment in Chrome and Firefox.
  */

  progress {
    vertical-align: baseline;
  }

  /**
  Correct the cursor style of increment and decrement buttons in Safari.
  */

  ::-webkit-inner-spin-button,
  ::-webkit-outer-spin-button {
    height: auto;
  }

  /**
  1. Correct the odd appearance in Chrome and Safari.
  2. Correct the outline style in Safari.
  */

  [type='search'] {
    -webkit-appearance: textfield; /* 1 */
    outline-offset: -2px; /* 2 */
  }

  /**
  Remove the inner padding in Chrome and Safari on macOS.
  */

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  /**
  1. Correct the inability to style clickable types in iOS and Safari.
  2. Change font properties to 'inherit' in Safari.
  */

  ::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
  }

  /*
  Interactive
  ===========
  */

  /*
  Add the correct display in Chrome and Safari.
  */

  summary {
    display: list-item;
  }
:root {
    /* Core Sizes */
    --size-0-25: 0.0625rem; /* 1px */
    --size-0-5: 0.125rem; /* 2px */
    --size-1: 0.25rem; /* 4px */
    --size-1-5: 0.375rem; /* 6px */
    --size-2: 0.5rem; /* 8px */
    --size-2-5: 0.625rem; /* 10px */
    --size-3: 0.75rem; /* 12px */
    --size-3-5: 0.875rem; /* 14px */
    --size-4: 1rem; /* 16px */
    --size-4-5: 1.125rem; /* 18px */
    --size-5: 1.25rem; /* 20px */
    --size-5-5: 1.375rem; /* 22px */
    --size-6: 1.5rem; /* 24px */
    --size-6-5: 1.625rem; /* 26px */
    --size-7: 1.75rem; /* 28px */
    --size-7-5: 1.875rem; /* 30px */
    --size-8: 2rem; /* 32px */
    --size-8-5: 2.125rem; /* 34px */
    --size-9: 2.25rem; /* 36px */
    --size-9-5: 2.375rem; /* 38px */
    --size-10: 2.5rem; /* 40px */
    --size-11: 2.75rem; /* 44px */
    --size-12: 3rem; /* 48px */
    --size-14: 3.5rem; /* 56px */
    --size-16: 4rem; /* 64px */
    --size-18: 4.5rem; /* 72px */
    --size-20: 5rem; /* 80px */
    --size-24: 6rem; /* 96px */
    --size-28: 7rem; /* 112px */
    --size-32: 8rem; /* 128px */

    /* Text Sizes */
    --text-size-2: 0.5rem; /* 8px */
    --text-size-2-5: 0.625rem; /* 10px */
    --text-size-3: 0.75rem; /* 12px */
    --text-size-3-5: 0.875rem; /* 14px */
    --text-size-4: 1rem; /* 16px */
    --text-size-4-5: 1.125rem; /* 18px */
    --text-size-5: 1.25rem; /* 20px */
    --text-size-5-5: 1.375rem; /* 22px */
    --text-size-6: 1.5rem; /* 24px */
    --text-size-6-5: 1.625rem; /* 26px */
    --text-size-7: 1.75rem; /* 28px */
    --text-size-7-5: 1.875rem; /* 30px */
    --text-size-8: 2rem; /* 32px */
    --text-size-8-5: 2.125rem; /* 34px */
    --text-size-9: 2.25rem; /* 36px */
    --text-size-9-5: 2.375rem; /* 38px */
    --text-size-10: 2.5rem; /* 40px */
    --text-size-11: 2.75rem; /* 44px */
    --text-size-12: 3rem; /* 48px */
    --text-size-14: 3.5rem; /* 56px */
    --text-size-16: 4rem; /* 64px */
    --text-size-18: 4.5rem; /* 72px */
    --text-size-20: 5rem; /* 80px */
    --text-size-24: 6rem; /* 96px */
    --text-size-28: 7rem; /* 112px */
    --text-size-32: 8rem; /* 128px */

    /* Line */
    --line-size-none: 0px;
    --line-size-xs: 0.5px;
    --line-size-sm: 1px;
    --line-size-md: 2px;
    --line-size-lg: 4px;
    --line-size-xl: 8px;

    /* Gap */
    --gap-size-none: 0px;
    --gap-size-3xs: var(--size-0-5);
    --gap-size-2xs: var(--size-1);
    --gap-size-xs: var(--size-2);
    --gap-size-sm: var(--size-4);
    --gap-size-md: var(--size-8);
    --gap-size-lg: var(--size-12);
    --gap-size-xl: var(--size-16);
    --gap-size-2xl: var(--size-24);

    /* Radius */
    --radius-xs: 4px;
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 24px;
    --radius-2xl: 32px;
    --radius-none: 0px;
    --radius-full: 999px;

    /* Dropshadow */
    --shadow-none: 0px 0px 0px 0px rgba(0, 0, 0, 0);
    --shadow-sm: 0px 1px 2px 0px rgba(0, 0, 0, 0.08);
    --shadow-md: 0px 2px 4px -1px rgba(0, 0, 0, 0.08);
    --shadow-lg: 0px 8px 16px -4px rgba(0, 0, 0, 0.08);
    --shadow-xl: 0px 16px 32px -6px rgba(0, 0, 0, 0.12);
    --shadow-2xl: 0px 16px 64px -12px rgba(0, 0, 0, 0.22);

    /* Font Weights */
    --font-weight-100: 100;
    --font-weight-200: 200;
    --font-weight-300: 300;
    --font-weight-400: 400;
    --font-weight-500: 500;
    --font-weight-600: 600;
    --font-weight-700: 700;
    --font-weight-800: 800;
    --font-weight-900: 900;

    /* Letter Spacings */
    --letter-space-2xs: -0.05em;
    --letter-space-xs: -0.03em;
    --letter-space-sm: -0.015em;
    --letter-space-md: 0em;
    --letter-space-lg: 0.015em;
    --letter-space-xl: 0.03em;
    --letter-space-2xl: 0.05em;
    --letter-space-3xl: 0.08em;
    --letter-space-4xl: 0.12em;

    /* Line Heights */
    --line-height-2xs: 0.9;
    --line-height-xs: 1;
    --line-height-sm: 1.1;
    --line-height-md: 1.2;
    --line-height-lg: 1.5;
    --line-height-xl: 1.7;
    --line-height-2xl: 2;

    /* Color Shades */
    --shade-0: 0%;
    --shade-4: 4%;
    --shade-8: 8%;
    --shade-12: 12%;
    --shade-16: 16%;
    --shade-20: 20%;
    --shade-30: 30%;
    --shade-40: 40%;
    --shade-50: 50%;
    --shade-60: 60%;
    --shade-70: 70%;
    --shade-80: 80%;
    --shade-90: 90%;
    --shade-100: 100%;
  }
.scheme-image,
	.scheme-darken,
	.scheme-squiggle,
	.scheme-swirl,
	.scheme-dots,
	.scheme-notebook,
	.scheme-wave,
	.scheme-minimal-wave,
	.scheme-plants,
	.scheme-cold-blur,
	.scheme-warm-blur,
	.scheme-custom-texture-1,
	.scheme-custom-texture-2,
	.scheme-custom-texture-3 {
	  position: absolute;
	  width: 100%;
	  height: 100%;
	  top: 0;
	  left: 0;
	  z-index: 0;
	}
	
	[data-animate].scheme-image {
	  object-fit: cover;
	  pointer-events: none;
	  mix-blend-mode: multiply;
	  opacity: 1;
	
	  /*Specific styles on some textures*/
	
	  &[data-texture='space.jpg'] {
	    mix-blend-mode: screen;
	  }
	}
	
	[data-animate].scheme-texture--linen,
	[data-animate].scheme-texture--sand,
	[data-animate].scheme-texture--stone,
	[data-animate].scheme-texture--wildflower {
	  opacity: 0.24;
	}
	
	/*Darken is CSS, not image*/
	.scheme-darken {
	  --z-index-overlay: 1;
	  z-index: 1;
	  pointer-events: none;
	
	  &:after {
	    background-color: rgba(0, 0, 0, 0.027);
	    pointer-events: none;
	  }
	}
	
	/*
	  SVG images as backgrounds
	    - larger images are cached external assets that are only loaded when used
	 */
	.scheme-swirl {
	  background-image: url(swirl.svg);
	  opacity: 0.12;
	}
	
	.scheme-squiggle {
	  background: url("data:image/svg+xml,%3Csvg width='150' height='75' viewBox='0 0 52 26' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.17'%3E%3Cpath d='M10 10c0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6h2c0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6 0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6 0 2.21 1.79 4 4 4v2c-3.314 0-6-2.686-6-6 0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6zm25.464-1.95l8.486 8.486-1.414 1.414-8.486-8.486 1.414-1.414z' /%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	}
	
	.scheme-dots {
	  background-image: radial-gradient(rgba(0, 0, 0, 0.15) 0.5px, transparent 2px);
	  background-size: 16px 16px;
	}
	
	.scheme-notebook {
	  background-image: url(notebook.svg);
	  opacity: 0.5;
	}
	
	.scheme-wave {
	  background-image: url(wave.svg);
	  background-size: cover;
	  opacity: 0.5;
	}
	
	.scheme-minimal-wave {
	  background-image: url(minimal-wave.svg);
	  opacity: 0.5;
	  background-size: cover;
	}
	
	.scheme-plants {
	  background-image: url(plants.svg);
	  background-size: cover;
	}
	
	.scheme-cold-blur {
	  background-image: url(cold-blur.svg);
	  background-size: cover;
	}
	
	.scheme-warm-blur {
	  background-image: url(warm-blur.svg);
	  background-size: cover;
	}
	
	.scheme-custom-texture-1 {
	  background-image: url(custom-texture-1.svg);
	  background-size: cover;
	}
	
	.scheme-custom-texture-2 {
	  background-image: url(custom-texture-2.svg);
	  background-size: cover;
	}
	
	.scheme-custom-texture-3 {
	  background-image: url(custom-texture-3.svg);
	  background-size: cover;
	}