/** Shopify CDN: Minification failed

Line 10361:15 Expected identifier but found whitespace
Line 10361:16 Unexpected "#"
Line 10392:23 Expected identifier but found whitespace
Line 10392:24 Unexpected "#"
Line 11008:24 Expected identifier but found whitespace
Line 11008:25 Unexpected "#"
Line 11870:13 Expected identifier but found whitespace
Line 11870:14 Unexpected "#000000"
Line 11900:18 Unexpected "__media"
Line 11903:13 Expected identifier but found whitespace
... and 5 more hidden warnings

**/
/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */
*, :before, :after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  border-color: rgb(var(--text-color) / .12);
}

html {
  -webkit-text-size-adjust: 100%;
  tab-size: 4;
  interpolate-size: allow-keywords;
  scroll-padding-block-start: calc(var(--sticky-area-height)  + 20px);
  line-height: 1.5;
}

body {
  --background: var(--background-primary);
  --text-color: var(--text-primary);
  background: rgb(var(--background));
  color: rgb(var(--text-color));
  font: var(--text-font-style) var(--text-font-weight) var(--text-base) / 1.6 var(--text-font-family);
  letter-spacing: var(--text-letter-spacing);
  margin: 0;
  position: relative;
}

hr {
  height: 0;
  color: inherit;
  border-top-width: 1px;
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
}

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

b, strong {
  font-weight: bolder;
}

code, kbd, samp, pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
  font-size: 1em;
}

table {
  text-indent: 0;
  border-color: inherit;
  border-collapse: collapse;
}

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  font-weight: inherit;
  font-style: inherit;
  line-height: inherit;
  text-transform: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
}

button, select {
  text-transform: none;
}

button, [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button;
  text-align: inherit;
  background-color: #0000;
  background-image: none;
}

button, label, summary, [role="button"], [type="checkbox"], [type="radio"], [type="submit"] {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  cursor: pointer;
}

:-moz-focusring {
  outline: auto;
}

:-moz-ui-invalid {
  box-shadow: none;
}

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

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

[type="search"] {
  -webkit-appearance: textfield;
  appearance: textfield;
  outline-offset: -2px;
}

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

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

::-webkit-date-and-time-value {
  text-align: start;
}

summary {
  -webkit-user-select: none;
  user-select: none;
  list-style-type: none;
}

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

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

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

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

textarea {
  resize: vertical;
}

input::placeholder, textarea::placeholder {
  opacity: 1;
  color: #9ca3af;
}

:disabled {
  cursor: default;
}

img, video, iframe, object {
  vertical-align: middle;
  display: block;
}

img {
  color: #0000;
  max-width: min(var(--image-mobile-max-width, var(--image-max-width, 100%)), 100%);
  object-fit: inherit;
  object-position: inherit;
  height: auto;
}

picture source {
  display: contents;
}

picture img {
  width: 100%;
  min-height: inherit;
  max-height: 100%;
}

video {
  width: 100%;
  max-width: 100%;
  height: auto;
}

:focus:not(:focus-visible) {
  outline: none;
}

[hidden] {
  display: none !important;
}

height-observer, visibility-progress, scroll-area, video-media, model-media, media-carousel, impact-text, recently-viewed-products {
  display: block;
}

@media screen and (min-width: 700px) {
  img {
    max-width: min(var(--image-max-width, 100%), 100%);
  }
}

.pswp {
  --pswp-bg: rgb(var(--background-primary));
  --pswp-placeholder-bg: rgb(var(--background-primary));
  --pswp-root-z-index: 100000;
  --pswp-icon-color: rgb(var(--background-primary));
  --pswp-icon-color-secondary: rgb(var(--background-primary));
  --pswp-icon-stroke-color: rgb(var(--text-primary));
  --pswp-icon-stroke-width: 2px;
  --pswp-error-text-color: rgb(var(--text-primary));
  width: 100%;
  height: 100%;
  z-index: var(--pswp-root-z-index);
  touch-action: none;
  opacity: .003;
  contain: layout style size;
  -webkit-tap-highlight-color: #0000;
  outline: 0;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
}

.pswp img {
  max-width: none;
}

.pswp--open {
  display: block;
}

.pswp, .pswp__bg {
  will-change: opacity;
  transform: translateZ(0);
}

.pswp__bg {
  opacity: .005;
  background: var(--pswp-bg);
}

.pswp, .pswp__scroll-wrap {
  overflow: hidden;
}

.pswp__scroll-wrap, .pswp__bg, .pswp__container, .pswp__item, .pswp__content, .pswp__img, .pswp__zoom-wrap {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.pswp__img, .pswp__zoom-wrap {
  width: auto;
  height: auto;
}

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
  cursor: var(--cursor-zoom-in-svg-url) 28 28, zoom-in;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
  cursor: grab;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
  cursor: grabbing;
}

.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img, .pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active, .pswp__img {
  cursor: var(--cursor-zoom-out-svg-url) 28 28, zoom-out;
}

.pswp__container, .pswp__img, .pswp__button {
  -webkit-user-select: none;
  user-select: none;
}

.pswp__item {
  z-index: 1;
  overflow: hidden;
}

.pswp__hidden {
  display: none !important;
}

.pswp__content {
  pointer-events: none;
}

.pswp__content > * {
  pointer-events: auto;
}

.pswp__error-msg-container {
  display: grid;
}

.pswp__error-msg {
  color: var(--pswp-error-text-color);
  margin: auto;
  font-size: 1em;
  line-height: 1;
}

.pswp .pswp__hide-on-close {
  opacity: .005;
  will-change: opacity;
  transition: opacity var(--pswp-transition-duration) cubic-bezier(.4, 0, .22, 1);
  z-index: 10;
  pointer-events: none;
}

.pswp--ui-visible .pswp__hide-on-close {
  opacity: 1;
  pointer-events: auto;
}

.pswp__button {
  -webkit-touch-callout: none;
  display: block;
  position: relative;
  overflow: hidden;
}

.pswp__button:disabled {
  opacity: .3;
  cursor: auto;
}

.pswp__button svg {
  display: block;
}

.pswp__top-bar, .pswp__bottom-bar {
  z-index: 10;
  flex-direction: row;
  justify-content: flex-end;
  width: 100%;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none !important;
}

.pswp__top-bar > *, .pswp__bottom-bar > * {
  pointer-events: auto;
  will-change: opacity;
}

.pswp__bottom-bar {
  justify-content: center;
  top: auto;
  bottom: 24px;
}

.pswp__bottom-bar .pagination {
  border-radius: var(--rounded-full);
}

.pswp__button--close {
  margin-block-start: 24px;
  margin-inline-end: 24px;
  transition: transform .2s;
}

.pswp__preloader {
  display: none;
}

@media screen and (min-width: 700px) {
  .pswp__bottom-bar {
    bottom: 48px;
  }

  .pswp__button--close {
    margin-block-start: 48px;
    margin-inline-end: 48px;
  }
}

@media screen and (pointer: fine) {
  .pswp__button--close:hover {
    transform: rotate(90deg);
  }
}

.accordion {
  --accordion-spacing: var(--spacing-5);
  box-sizing: content-box;
  border-block-start-width: 1px;
  border-block-end-width: 1px;
}

.accordion__toggle {
  gap: var(--spacing-2);
  flex-grow: 1;
  justify-content: space-between;
  align-items: center;
  padding-block-start: var(--accordion-spacing);
  padding-block-end: var(--accordion-spacing);
  display: flex;
}

.accordion__content {
  margin-block-end: var(--accordion-spacing);
  padding-inline-end: var(--spacing-6);
  transform: translateY(-4px);
}

.accordion__content:has(.image-filter-list) {
  padding-inline-end: 0;
}

.accordion--lg {
  --accordion-spacing: var(--spacing-8);
}

.accordion + .accordion {
  border-block-start-width: 0;
}

.accordion-box {
  padding: var(--spacing-1) var(--spacing-6);
}

.accordion-box > :first-child {
  border-block-start-width: 0;
}

.accordion-box > :last-child {
  border-block-end-width: 0;
}

@media screen and (min-width: 1000px) {
  .accordion-box {
    padding: var(--spacing-5) var(--spacing-12);
  }
}

.blog-post-card {
  --blog-post-card-badge-spacing: var(--spacing-3);
  --blog-post-card-figure-gap: var(--spacing-5);
  --blog-post-card-meta-gap: var(--spacing-1) var(--spacing-5);
  gap: var(--blog-post-card-figure-gap);
  align-content: start;
  display: grid;
  overflow: hidden;
}

.blog-post-card__figure {
  display: block;
  position: relative;
  overflow: hidden;
}

.blog-post-card__figure > .badge {
  z-index: 1;
  position: absolute;
  top: var(--blog-post-card-badge-spacing);
}

.blog-post-card__figure > .badge:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: var(--blog-post-card-badge-spacing);
}

.blog-post-card__figure > .badge:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: var(--blog-post-card-badge-spacing);
}

.blog-post-card__meta {
  gap: var(--blog-post-card-meta-gap);
  flex-wrap: wrap;
  display: flex;
}

.blog-post-card--featured {
  grid-column: 1 / -1;
  gap: 0;
}

.blog-post-card--featured .blog-post-card__info {
  padding: var(--spacing-5);
}

@media screen and (min-width: 700px) {
  .blog-post-card {
    --blog-post-card-badge-spacing: var(--spacing-4);
    --blog-post-card-figure-gap: var(--spacing-6);
    --blog-post-card-meta-gap: var(--spacing-2) var(--spacing-6);
  }

  .blog-post-card--featured .blog-post-card__info {
    padding: var(--spacing-12);
  }
}

@media screen and (min-width: 1000px) {
  .blog-post-card--featured {
    grid-template-columns: 1fr .7fr;
    display: grid;
  }
}

@media screen and (min-width: 1150px) {
  .blog-post-card--featured {
    grid-template-columns: 1fr .54fr;
  }

  .blog-post-card--featured .blog-post-card__info {
    padding: var(--spacing-16);
  }
}

.blog-posts {
  --blog-posts-gap: var(--spacing-8) var(--grid-gutter);
  grid: var(--blog-posts-grid);
  gap: var(--blog-posts-gap);
  display: grid;
}

@media screen and (min-width: 700px) {
  .blog-posts {
    --blog-posts-gap: var(--spacing-12) var(--grid-gutter);
  }
}

@media screen and (min-width: 1000px) {
  .blog-posts {
    --blog-posts-gap: var(--spacing-12);
  }
}

@media screen and (min-width: 1400px) {
  .blog-posts {
    --blog-posts-gap: min(var(--section-inner-spacing-inline), var(--spacing-20));
  }
}

.button, .btn {
  --button-background: var(--button-background-primary) / var(--button-background-opacity, 1);
  --button-text-color: var(--button-text-primary);
  --button-outline-color: var(--button-background-primary);
  -webkit-appearance: none;
  appearance: none;
  border-radius: var(--rounded-button);
  background-color: rgb(var(--button-background));
  color: rgb(var(--button-text-color));
  text-align: center;
  font-size: var(--text-sm);
  letter-spacing: var(--text-letter-spacing);
  padding-block-start: var(--spacing-2-5);
  padding-block-end: var(--spacing-2-5);
  padding-inline-start: var(--spacing-5);
  padding-inline-end: var(--spacing-5);
  font-weight: bold;
  line-height: 1.6;
  transition: background-color .15s ease-in-out, color .15s ease-in-out, box-shadow .15s ease-in-out;
  display: inline-block;
  position: relative;
}

.button--sm {
  font-size: var(--text-xs);
  padding-block-start: var(--spacing-2);
  padding-block-end: var(--spacing-2);
  line-height: 1.7;
}

.button--lg {
  font-size: var(--text-base);
  padding-block-start: .8125rem;
  padding-block-end: .8125rem;
  padding-inline-start: var(--spacing-6);
  padding-inline-end: var(--spacing-6);
}

.button--xl {
  font-size: var(--text-base);
  padding-block-start: var(--spacing-4);
  padding-block-end: var(--spacing-4);
  padding-inline-start: var(--spacing-8);
  padding-inline-end: var(--spacing-8);
}

.button--secondary {
  --button-background: var(--button-background-secondary) / var(--button-background-opacity, 1);
  --button-text-color: var(--button-text-secondary);
  --button-outline-color: var(--button-background-secondary);
}

.button--subdued {
  --button-background: var(--text-color) / .1 !important;
  --button-text-color: var(--text-color) !important;
  --button-outline-color: var(--text-color) !important;
}

.button--outline {
  color: rgb(var(--button-outline-color) / var(--button-background-opacity, 1));
  background: none;
  box-shadow: inset 0 0 0 2px;
}

.button__loader, .button__feedback {
  gap: var(--spacing-1-5);
  opacity: 0;
  pointer-events: none;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.button__loader > * {
  width: var(--spacing-1-5);
  height: var(--spacing-1-5);
  border-radius: var(--rounded-full);
  background: currentColor;
}

@media screen and (min-width: 700px) {
  .button, .btn {
    padding-block-start: var(--spacing-3);
    padding-block-end: var(--spacing-3);
    padding-inline-start: var(--spacing-6);
    padding-inline-end: var(--spacing-6);
  }

  .button--sm {
    padding-block-start: var(--spacing-2);
    padding-block-end: var(--spacing-2);
    padding-inline-start: var(--spacing-5);
    padding-inline-end: var(--spacing-5);
  }

  .button--lg {
    padding-block-start: var(--spacing-3-5);
    padding-block-end: var(--spacing-3-5);
    padding-inline-start: var(--spacing-8);
    padding-inline-end: var(--spacing-8);
  }

  .button--xl {
    padding-block-start: 1.075rem;
    padding-block-end: 1.075rem;
    padding-inline-start: var(--spacing-10);
    padding-inline-end: var(--spacing-10);
  }
}

.back-button {
  align-items: center;
  gap: var(--spacing-4);
  padding: var(--spacing-2) var(--spacing-4);
  border-radius: var(--rounded-button);
  opacity: .7;
  border-width: 1px;
  transition: all .2s ease-in-out;
  display: flex;
}

@media screen and (pointer: fine) {
  .back-button:hover {
    opacity: 1;
  }
}

@media screen and (min-width: 700px) {
  .back-button {
    padding: var(--spacing-3) var(--spacing-6);
  }
}

.button-group {
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  display: inline-flex;
}

.button-group > * {
  margin: 0;
}

.circle-button {
  width: var(--spacing-12);
  height: var(--spacing-12);
  border-radius: var(--rounded-full);
  place-items: center;
  transition: opacity .15s ease-in;
  display: grid;
}

.circle-button[disabled] {
  opacity: .5;
  pointer-events: none;
}

.circle-button--fill {
  background: rgb(var(--background-primary));
  color: rgb(var(--text-primary));
}

.circle-button--bordered {
  border: 2px solid;
}

.circle-button--sm {
  width: var(--spacing-10);
  height: var(--spacing-10);
}

.circle-button--lg {
  width: var(--spacing-14);
  height: var(--spacing-14);
}

.animated-arrow {
  pointer-events: none;
  place-items: center;
  display: grid;
}

.animated-arrow:before, .animated-arrow:after {
  content: "";
  grid-area: 1 / -1;
  transition: all .2s ease-in-out;
}

.animated-arrow:before {
  border-block-start-width: 2px;
  border-inline-end-width: 2px;
  width: .5rem;
  height: .5rem;
  transform: rotate(calc(var(--transform-logical-flip) * 45deg));
  border-color: currentColor;
  position: relative;
}

.animated-arrow:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)):before {
  left: -1px;
}

.animated-arrow:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)):before {
  right: -1px;
}

.animated-arrow:after {
  width: var(--spacing-2-5);
  height: var(--spacing-0-5);
  transform-origin: center;
  opacity: 0;
  background: currentColor;
  transform: scaleX(.5);
}

@media screen and (pointer: fine) {
  .group:hover .animated-arrow:before {
    transform: translateX(calc(var(--transform-logical-flip) * var(--spacing-0-5))) rotate(calc(var(--transform-logical-flip) * 45deg));
  }

  .group:hover .animated-arrow:after {
    opacity: 1;
    transform: scaleX(1);
  }
}

.animated-arrow--reverse {
  transform: rotate(180deg);
}

.circle-chevron {
  width: var(--spacing-6);
  height: var(--spacing-6);
  border-radius: var(--rounded-full);
  background: rgb(var(--text-color) / .1);
  flex-shrink: 0;
  place-items: center;
  transition: all .2s ease-in-out;
  display: grid;
}

.circle-chevron[disabled] {
  opacity: .5;
}

.group[aria-expanded="true"] .circle-chevron.group-expanded\:colors:not([disabled]) {
  background: rgb(var(--text-color));
  color: rgb(var(--background));
}

.group[aria-expanded="true"] .circle-chevron.group-expanded\:rotate {
  transform: rotate(calc(var(--transform-logical-flip) * 180deg));
}

@media screen and (pointer: fine) {
  .group:hover .circle-chevron.group-hover\:colors:not([disabled]), .circle-chevron.hover\:colors:hover:not([disabled]) {
    background: rgb(var(--text-color));
    color: rgb(var(--background));
  }
}

scroll-carousel {
  position: relative;
}

.content-over-media {
  grid-template: 0 minmax(0, 1fr) 0 / minmax(0, 1fr) minmax(0, min(var(--container-max-width), 100% - var(--content-over-media-gap, var(--content-over-media-column-gap, var(--container-gutter))) * 2)) minmax(0, 1fr);
  gap: var(--content-over-media-row-gap, var(--content-over-media-gap, var(--container-gutter))) var(--content-over-media-column-gap, var(--content-over-media-gap, var(--container-gutter)));
  place-items: center;
  display: grid;
  position: relative;
  overflow: hidden;
  transform: translateZ(0);
}

.content-over-media:before {
  content: "";
  background: rgb(var(--content-over-media-overlay));
  border-radius: inherit;
  z-index: 1;
  pointer-events: none;
  transition: background .2s ease-in-out;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.content-over-media > :is(picture, img, video, iframe, svg, video-media) {
  height: var(--content-over-media-height, auto);
  transform-origin: top;
  overflow-wrap: anywhere;
  object-fit: cover;
  object-position: center;
  border-radius: inherit;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  grid-area: 1 / 1 / span 3 / span 3;
  place-self: stretch stretch;
  width: 100%;
  min-height: 100%;
  max-height: 100%;
  position: relative;
}

.content-over-media > :is(picture, img, video, iframe, svg, video-media) > * {
  border-radius: inherit;
}

.content-over-media > :not(img, video, iframe, svg, video-media, picture) {
  max-width: var(--content-over-media-content-max-width, 780px);
  z-index: 1;
  grid-area: 2 / 2 / auto / span 1;
  position: relative;
}

[allow-transparent-header] :is(.content-over-media > :not(img, video, iframe, svg, video-media, picture)) {
  padding-block-start: calc(var(--header-height) * var(--section-is-first));
}

.content-over-media > video-media:not([autoplay]) ~ * {
  transition: opacity .2s ease-in-out, visibility .2s ease-in-out;
}

.content-over-media > video-media:not([autoplay])[loaded] ~ * {
  opacity: 0;
  visibility: hidden;
}

.content-over-media:has( > video-media[loaded]:not([autoplay])):before {
  background: none;
  transition-delay: .1s;
}

.content-over-media--sm {
  --content-over-media-height: 375px;
}

.content-over-media--md {
  --content-over-media-height: 480px;
}

.content-over-media--lg {
  --content-over-media-height: 560px;
}

.content-over-media--fill {
  --content-over-media-height: calc(100vh - var(--sticky-area-height));
}

.shopify-section:first-child [allow-transparent-header] .content-over-media--fill {
  --content-over-media-height: calc(100vh - var(--announcement-bar-height, 0px));
}

@supports (height: 100svh) {
  .content-over-media--fill {
    --content-over-media-height: calc(100svh - var(--sticky-area-height));
  }

  .shopify-section:first-child [allow-transparent-header] .content-over-media--fill {
    --content-over-media-height: calc(100svh - var(--announcement-bar-height, 0px));
  }
}

@media screen and (min-width: 700px) {
  .content-over-media--sm {
    --content-over-media-height: 400px;
  }

  .content-over-media--md {
    --content-over-media-height: 460px;
  }

  .content-over-media--lg {
    --content-over-media-height: 560px;
  }
}

@media screen and (min-width: 1400px) {
  .content-over-media--sm {
    --content-over-media-height: 440px;
  }

  .content-over-media--md {
    --content-over-media-height: 500px;
  }

  .content-over-media--lg {
    --content-over-media-height: 640px;
  }

  .content-over-media--fill > :is(img, video, iframe, svg, video-media, picture) {
    max-height: 1200px;
  }
}

@media screen and (min-width: 1600px) {
  .content-over-media--md {
    --content-over-media-height: 560px;
  }

  .content-over-media--lg {
    --content-over-media-height: 720px;
  }
}

.page-dots {
  justify-content: center;
  gap: var(--spacing-2-5) var(--spacing-4);
  flex-wrap: wrap;
  display: flex;
}

.page-dots > * {
  width: var(--spacing-1-5);
  height: var(--spacing-1-5);
  border-radius: var(--rounded-full);
  opacity: .3;
  background: currentColor;
  transition: opacity .2s ease-in-out;
}

.page-dots > *[aria-current="true"] {
  opacity: 1;
}

.page-dots--blurred {
  padding: var(--spacing-2) var(--spacing-4);
  border-radius: var(--rounded-full);
  background: rgb(var(--background) / .7);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.stretching-dots {
  align-items: center;
  gap: var(--spacing-5);
  display: flex;
}

.stretching-dots > * {
  width: var(--spacing-2);
  height: var(--spacing-2);
  border-radius: var(--spacing-2);
  opacity: .5;
  background: currentColor;
  transition: opacity .5s cubic-bezier(.34, 1.56, .64, 1), width .5s cubic-bezier(.34, 1.56, .64, 1);
}

.stretching-dots > *[aria-current="true"] {
  width: var(--spacing-6);
  opacity: 1;
}

.numbered-dots {
  align-items: center;
  gap: var(--spacing-2);
  display: flex;
}

.numbered-dots__item {
  width: var(--spacing-8);
  height: var(--spacing-8);
  will-change: transform;
  border-radius: 100%;
  place-items: center;
  font-weight: bold;
  transition: color .2s;
  display: grid;
}

.numbered-dots__item > * {
  grid-area: 1 / -1;
}

.numbered-dots__item svg {
  width: inherit;
  height: inherit;
  transform: rotate(-90deg);
}

.numbered-dots__item circle {
  fill: none;
  stroke: currentColor;
  stroke-linecap: butt;
  stroke-opacity: .3;
  stroke-width: 2px;
}

.numbered-dots__item[aria-current="true"] circle:last-child {
  --radius: 15;
  --circumference: calc(2px * (22 / 7) * var(--radius));
  stroke-opacity: 1;
  stroke-dasharray: calc(var(--circumference) * var(--progress, 1)), var(--circumference);
}

.prev-next-buttons {
  align-items: center;
  gap: var(--spacing-4);
  display: flex;
}

:is(.drawer, .popover):not(:defined) {
  display: none;
}

:is(.drawer, .popover)::part(outside-close-button), :is(.drawer, .popover)::part(close-button) {
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  border: none;
  padding: 0;
}

:is(.drawer, .popover)::part(outside-close-button) {
  width: var(--spacing-12);
  height: var(--spacing-12);
  bottom: 100%;
  left: calc(50% - var(--spacing-6));
  background: rgb(var(--dialog-background));
  color: rgb(var(--text-color));
  border-radius: var(--rounded-full);
  z-index: 1;
  place-items: center;
  margin-block-end: var(--spacing-4);
  margin-inline-start: auto;
  margin-inline-end: auto;
  display: grid;
  position: absolute;
}

:is(.drawer, .popover)::part(close-button) {
  color: currentColor;
  background: none;
  margin-inline-start: auto;
  display: none;
}

@media screen and (min-width: 700px) {
  :is(.drawer, .popover)::part(outside-close-button) {
    display: none;
  }

  :is(.drawer, .popover)::part(close-button) {
    display: grid;
  }
}

.popover {
  --background: var(--dialog-background);
  --text-color: var(--text-primary);
  --popover-title-padding: var(--spacing-5);
  --popover-body-padding: var(--spacing-4) 0;
  --popover-content-max-height: 75vh;
  --popover-content-max-width: none;
  --popover-anchor-block-spacing: var(--spacing-4);
  --popover-anchor-inline-spacing: 0;
  visibility: hidden;
  width: 100%;
  padding: var(--spacing-2);
  z-index: 999;
  display: none;
  position: fixed;
}

.popover::part(overlay) {
  min-height: 100lvh;
  cursor: var(--cursor-close-svg-url) 28 28, auto;
  background: #0006;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.popover::part(title) {
  padding: var(--popover-title-padding);
  border-block-end: 1px solid rgb(var(--border-color));
  text-align: center;
}

.popover::part(content) {
  height: 100%;
  max-height: var(--popover-content-max-height);
  max-width: var(--popover-content-max-width);
  background: rgb(var(--dialog-background));
  color: rgb(var(--text-color));
  border-radius: 8px;
  flex-direction: column;
  display: flex;
  position: relative;
}

.popover::part(body) {
  overscroll-behavior-y: contain;
  padding: var(--popover-body-padding);
  text-align: center;
  overflow-y: auto;
}

@media screen and (min-width: 1000px) {
  .popover {
    --popover-content-max-height: 350px;
    --popover-content-max-width: 380px;
    z-index: 10;
    width: auto;
    padding: 0;
    position: absolute;
  }

  .popover::part(content) {
    border-radius: var(--rounded-input);
    width: max-content;
    box-shadow: var(--shadow-md);
    border: 1px solid rgb(var(--border-color));
  }

  .popover::part(title), .popover::part(overlay) {
    display: none;
  }

  .popover::part(body) {
    text-align: start;
  }
}

.popover-listbox__option {
  justify-content: center;
  align-items: center;
  gap: var(--spacing-2);
  width: 100%;
  padding: var(--spacing-2) var(--spacing-6);
  color: rgb(var(--text-color) / .7);
  transition: color .2s ease-in-out;
  display: flex;
}

.popover-listbox__option.is-disabled {
  text-decoration: line-through;
}

.popover-listbox__option[aria-selected="true"], .popover-listbox__option:hover {
  color: rgb(var(--text-color));
}

.popover-listbox__option:has(:checked) {
  color: rgb(var(--text-color));
}

@media screen and (min-width: 1000px) {
  .popover-listbox__option {
    justify-content: start;
    padding-block-start: var(--spacing-1-5);
    padding-block-end: var(--spacing-1-5);
    padding-inline-end: var(--spacing-10);
  }

  .popover-listbox--sm .popover-listbox__option {
    line-height: 1.7;
    font-size: var(--text-sm);
    padding-block-start: var(--spacing-1);
    padding-block-end: var(--spacing-1);
  }
}

.drawer {
  --container-outer-width: var(--spacing-6);
  --background: var(--dialog-background);
  --text-color: var(--text-primary);
  --drawer-header-padding: var(--spacing-5);
  --drawer-body-padding: var(--spacing-5) var(--spacing-6);
  --drawer-footer-padding: var(--spacing-6);
  --drawer-content-max-height: none;
  visibility: hidden;
  width: 100%;
  padding: var(--spacing-2);
  z-index: 999;
  position: fixed;
  right: 0;
}

.drawer::part(overlay) {
  background: #0006;
  min-height: 100lvh;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.drawer.show-close-cursor::part(overlay) {
  cursor: var(--cursor-close-svg-url) 28 28, auto;
}

.drawer::part(content) {
  height: 100%;
  max-height: var(--drawer-content-max-height);
  border-radius: var(--rounded-sm);
  background: rgb(var(--dialog-background));
  color: rgb(var(--text-color));
  flex-direction: column;
  display: flex;
  position: relative;
}

.drawer::part(header) {
  padding: var(--drawer-header-padding);
}

.drawer::part(body) {
  padding: var(--drawer-body-padding);
  overscroll-behavior-y: contain;
  flex: auto;
  align-items: start;
  display: grid;
  overflow-y: auto;
}

.drawer::part(footer) {
  padding: var(--drawer-footer-padding);
  border-block-start: 1px solid rgb(var(--border-color));
  margin-block-start: auto;
  position: relative;
}

.drawer > [is="close-button"] {
  display: none;
  position: absolute;
  top: 1.5rem;
}

.drawer > [is="close-button"]:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: 1.5rem;
}

.drawer > [is="close-button"]:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: 1.5rem;
}

@media screen and (max-width: 699px) {
  .drawer {
    --drawer-content-max-height: 75vh;
  }

  .drawer::part(header) {
    text-align: center;
    border-bottom: 1px solid rgb(var(--border-color));
  }
}

@media screen and (min-width: 700px) {
  .drawer {
    --container-outer-width: var(--spacing-10);
    --drawer-header-padding: var(--spacing-8) var(--spacing-10);
    --drawer-body-padding: var(--spacing-8) var(--spacing-10);
    --drawer-footer-padding: var(--spacing-8) var(--spacing-10);
    width: 510px;
    height: 100%;
    padding: var(--spacing-4);
  }

  .drawer::part(header) {
    align-items: center;
    gap: var(--spacing-4);
    display: flex;
    position: relative;
  }

  .drawer[header-bordered]::part(header) {
    border-bottom: 1px solid rgb(var(--border-color));
  }

  .drawer:not([header-bordered])::part(header) {
    padding-block-end: 0;
  }

  .drawer:not([header-bordered])::part(header):after {
    content: "";
    width: 100%;
    height: var(--spacing-8);
    background: linear-gradient(to bottom, rgb(var(--dialog-background)), rgb(var(--dialog-background) / .6) 50%, rgb(var(--dialog-background) / 0));
    z-index: 1;
    position: absolute;
    top: 100%;
    left: 0;
  }

  .drawer > [is="close-button"] {
    display: grid;
    top: 2.25rem;
  }

  .drawer > [is="close-button"]:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: 2.25rem;
  }

  .drawer > [is="close-button"]:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    left: 2.25rem;
  }

  .drawer--lg {
    width: 680px;
  }
}

.banner {
  align-items: start;
  gap: var(--spacing-3-5);
  padding: var(--spacing-3-5);
  border-radius: var(--rounded-xs);
  font-size: var(--text-sm);
  color: rgb(var(--banner-color));
  background: rgb(var(--banner-background));
  grid-template-columns: max-content auto;
  display: grid;
}

.banner--error {
  --banner-background: var(--error-background);
  --banner-color: var(--error-text);
}

.banner--success {
  --banner-background: var(--success-background);
  --banner-color: var(--success-text);
}

.banner--warning {
  --banner-background: var(--warning-background);
  --banner-color: var(--warning-text);
}

.banner--sm {
  padding: var(--spacing-2);
  font-size: var(--text-sm);
}

.banner--with-icon > .button {
  grid-column-start: 2;
  justify-self: start;
}

@media screen and (min-width: 700px) {
  .banner--with-icon {
    grid-template-columns: max-content auto max-content;
    align-items: center;
  }

  .banner--with-icon svg {
    --icon-offset: 0;
  }

  .banner--with-icon > .button {
    grid-column-start: 3;
  }
}

.badge {
  --badge-background: var(--text-color) / .05;
  --badge-color: var(--text-color);
  align-items: center;
  gap: var(--spacing-1-5);
  padding: 3px var(--spacing-2);
  background: rgb(var(--badge-background));
  width: max-content;
  color: rgb(var(--badge-color));
  border-radius: var(--rounded-button);
  font-size: 9px;
  font-weight: bold;
  display: flex;
}

.badge--primary {
  --badge-background: var(--primary-badge-background);
  --badge-color: var(--primary-badge-text);
}

.badge--sold-out {
  --badge-background: var(--sold-out-badge-background);
  --badge-color: var(--sold-out-badge-text);
}

.badge--on-sale {
  --badge-background: var(--on-sale-badge-background);
  --badge-color: var(--on-sale-badge-text);
}

.badge--current {
  --badge-background: var(--text-color) / .12;
  --badge-color: var(--text-color);
}

.badge--lg {
  padding: var(--spacing-1) var(--spacing-3);
  font-size: var(--text-sm);
}

@media screen and (min-width: 700px) {
  .badge:not(.badge--lg) {
    font-size: var(--text-xs);
    padding-block-start: var(--spacing-0-5);
    padding-block-end: var(--spacing-0-5);
  }
}

.progress-bar {
  height: var(--spacing-1);
  border-radius: var(--rounded-full);
  background: rgb(var(--text-color) / .3);
  overflow: hidden;
}

.progress-bar:before {
  content: "";
  height: inherit;
  background: rgb(var(--accent));
  transform-origin: var(--transform-origin-start);
  transform: scaleX(var(--progress, 0));
  transition: transform .5s ease-in-out;
  display: block;
}

.scrollbar {
  align-items: center;
  gap: var(--spacing-10);
  color: rgb(var(--text-color));
  display: flex;
}

.scrollbar__progress {
  width: 100%;
  height: var(--spacing-0-5);
  background: rgb(var(--text-color) / .1);
  display: block;
  position: relative;
}

.scrollbar__progress:before {
  content: "";
  transform-origin: var(--transform-origin-start);
  transform: scaleX(var(--scroll-progress));
  background: rgb(var(--text-color));
  will-change: transform;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.scrollbar__buttons {
  display: none;
}

@media screen and (min-width: 1000px) {
  .scrollbar__buttons {
    gap: var(--spacing-4);
    display: flex;
  }
}

.count-bubble {
  --size: var(--spacing-4);
  width: var(--size);
  height: var(--size);
  min-width: min-content;
  border-radius: var(--rounded-full);
  background: rgb(var(--button-background-primary));
  color: rgb(var(--button-text-primary));
  place-items: center;
  padding-inline-start: var(--spacing-1);
  padding-inline-end: var(--spacing-1);
  font-size: 9px;
  font-weight: bold;
  line-height: 1;
  display: grid;
}

.count-bubble--md, .count-bubble--lg {
  --size: var(--spacing-5);
  font-size: var(--text-xs);
}

@media screen and (min-width: 700px) {
  .count-bubble--md {
    --size: var(--spacing-6);
  }

  .count-bubble--lg {
    --size: var(--spacing-7);
  }
}

.text-with-bubble {
  position: relative;
}

.text-with-bubble > .count-bubble {
  margin-inline-start: var(--spacing-2);
  position: absolute;
  top: 0;
}

.text-with-bubble > .count-bubble:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: 100%;
}

.text-with-bubble > .count-bubble:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: 100%;
}

.pill-loader {
  background: rgb(var(--background-primary));
  border-radius: var(--rounded-full);
  visibility: hidden;
  width: 2rem;
  height: 1rem;
  display: grid;
}

.pill-loader > * {
  grid-area: 1 / -1;
  place-self: center;
}

.loader-dots {
  justify-items: center;
  gap: .25rem;
  display: flex;
}

.loader-dots > * {
  border-radius: var(--rounded-full);
  background: currentColor;
  width: .25rem;
  height: .25rem;
}

.loader-checkmark {
  opacity: 0;
}

.form {
  align-content: start;
  gap: var(--spacing-4);
  display: grid;
}

.fieldset, .input-row {
  gap: var(--input-gap);
  display: grid;
}

.fieldset-link {
  margin-block-start: var(--spacing-2);
  margin-block-end: var(--spacing-2);
}

.fieldset-with-submit {
  align-items: start;
  gap: var(--spacing-4);
  display: grid;
}

@media screen and (min-width: 700px) {
  .form:not(.form--tight) {
    gap: var(--spacing-6);
  }

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

  .fieldset-link {
    margin-block-start: 0;
    margin-block-end: var(--spacing-2);
  }

  .fieldset-with-submit {
    grid-template-columns: minmax(0, 1fr) max-content;
  }
}

.input, .textarea, .select {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: var(--input-height);
  border-radius: var(--rounded-input);
  background: rgb(var(--input-background, transparent));
  color: rgb(var(--input-text-color, var(--text-color)));
  text-align: start;
  border-width: 1px;
  padding-inline-start: var(--input-padding-inline);
  padding-inline-end: var(--input-padding-inline);
}

:is(.input:focus, .textarea:focus, .select:focus-visible) {
  border-color: currentColor;
  outline: none;
  box-shadow: inset 0 0 0 1px;
}

.input.is-floating, .select.is-floating {
  height: calc(var(--input-height)  + .625rem);
  padding-block-start: var(--spacing-4);
}

.textarea {
  height: auto;
  vertical-align: top;
  padding-block-start: var(--spacing-4);
  padding-block-end: var(--spacing-4);
}

.textarea.is-floating {
  padding-block-start: var(--spacing-6);
  padding-block-end: var(--spacing-2);
}

.select {
  gap: var(--spacing-4);
  justify-content: space-between;
  align-items: center;
  padding-inline-end: calc(var(--input-padding-inline) * 2);
  display: flex;
}

.select-chevron {
  position: absolute;
  top: calc(50% - 3.5px);
}

.select-chevron:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: var(--input-padding-inline);
}

.select-chevron:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: var(--input-padding-inline);
}

.form-control {
  text-align: start;
  position: relative;
}

.block-label {
  width: fit-content;
  margin-block-end: var(--spacing-2);
  display: block;
}

.floating-label {
  height: calc(var(--input-height)  + .625rem);
  top: 0;
  opacity: .5;
  pointer-events: none;
  transform-origin: var(--transform-origin-start);
  grid-auto-flow: column;
  align-items: center;
  column-gap: .5rem;
  margin-inline-start: var(--spacing-4);
  transition: transform .2s ease-in-out;
  display: grid;
  position: absolute;
}

.floating-label:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: 1px;
}

.floating-label:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: 1px;
}

:-webkit-any(:-webkit-any(.input, .textarea):focus ~ .floating-label, :-webkit-any(.input, .textarea):not(:placeholder-shown) ~ .floating-label, :-webkit-any(.input, .textarea, .select):-webkit-autofill ~ .floating-label, .select:valid ~ .floating-label) {
  transform: scale(.65) translateY(calc(-1 * var(--spacing-4)));
}

:is(:is(.input, .textarea):focus ~ .floating-label, :is(.input, .textarea):not(:placeholder-shown) ~ .floating-label, :is(.input, .textarea, .select):autofill ~ .floating-label, .select:valid ~ .floating-label) {
  transform: scale(.65) translateY(calc(-1 * var(--spacing-4)));
}

:-webkit-any(.input, .textarea, .select):-webkit-autofill ~ .floating-label {
  color: #000;
}

:is(.input, .textarea, .select):autofill ~ .floating-label {
  color: #000;
}

.self-submit-button {
  top: 50%;
  position: absolute;
  transform: translateY(-50%);
}

.self-submit-button:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: var(--spacing-4);
}

.self-submit-button:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: var(--spacing-4);
}

@media screen and (min-width: 700px) {
  .floating-label {
    margin-inline-start: var(--spacing-5);
  }

  .self-submit-button:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: var(--spacing-5);
  }

  .self-submit-button:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    left: var(--spacing-5);
  }
}

.checkbox-container {
  align-items: baseline;
  display: flex;
}

.checkbox {
  -webkit-appearance: none;
  appearance: none;
  width: var(--spacing-4);
  height: var(--spacing-4);
  background: rgb(var(--text-color) / .15) var(--checkmark-svg-url) no-repeat center;
  background-size: 0;
  border-radius: 2px;
  flex-shrink: 0;
  transition: background-color .2s ease-in-out;
  position: relative;
  top: .1875rem;
  box-shadow: inset 1px 1px 2px #0000001a;
}

.checkbox:checked {
  background-color: rgb(var(--accent));
  background-size: 10px 8px;
}

.checkbox:checked ~ label {
  opacity: 1;
  transition: all .2s ease-in-out;
}

.checkbox ~ label {
  opacity: .7;
  padding-inline-start: var(--spacing-3);
}

.checkbox:disabled {
  opacity: .5;
}

.checkbox:disabled ~ label {
  color: rgb(var(--text-color) / .5);
  cursor: default;
}

.fieldset > .checkbox-container {
  margin-block-start: var(--spacing-1);
}

.checkbox-list {
  gap: var(--spacing-2);
  display: grid;
}

@media screen and (min-width: 700px) {
  .checkbox {
    top: var(--spacing-0-5);
  }
}

.switch {
  -webkit-appearance: none;
  appearance: none;
  height: var(--spacing-5);
  width: var(--spacing-10);
  border-radius: var(--rounded-full);
  background: rgb(var(--text-color) / .15);
  padding: 3px;
  transition: background .2s ease-in-out;
  display: grid;
}

.switch:after {
  content: "";
  width: var(--spacing-3-5);
  height: var(--spacing-3-5);
  background: rgb(var(--background));
  border-radius: var(--rounded-full);
  transition: transform .2s ease-in-out;
  box-shadow: 0 1px 1px #0003;
}

.switch:checked {
  background: rgb(var(--accent));
}

.switch:checked:after {
  transform: translateX(calc(var(--transform-logical-flip) * var(--spacing-5)));
}

.horizontal-product {
  --horizontal-product-image-size: var(--spacing-16);
  align-items: flex-start;
  gap: var(--spacing-4);
  padding: var(--spacing-4);
  min-width: 0;
  display: flex;
}

.horizontal-product__image {
  width: var(--horizontal-product-image-size);
  flex: 0 0 var(--horizontal-product-image-size);
}

.horizontal-product__info {
  gap: var(--spacing-2);
  flex-grow: 1;
  justify-content: space-between;
  align-items: center;
  display: grid;
}

@media screen and (min-width: 700px) {
  .horizontal-product {
    --horizontal-product-image-size: var(--spacing-20);
    gap: var(--spacing-5);
    align-items: center;
  }

  .horizontal-product--sm {
    --horizontal-product-image-size: var(--spacing-16);
  }

  .horizontal-product__info {
    gap: var(--spacing-4);
    display: flex;
  }

  .horizontal-product__cta {
    flex-shrink: 0;
    margin-inline-end: var(--spacing-4);
  }
}

.horizontal-product-list.separate {
  gap: var(--spacing-2);
  display: grid;
}

.horizontal-product-list-carousel > .horizontal-product-list {
  grid: auto / auto-flow 73vw;
  display: grid;
}

.horizontal-product-list-carousel > .horizontal-product-list:not(.separate) {
  border-radius: var(--rounded-xs);
  border-width: 1px;
}

@media screen and (min-width: 700px) {
  .horizontal-product-list-carousel {
    border-radius: var(--rounded-xs);
    grid-template-columns: minmax(0, 1fr);
  }

  .horizontal-product-list-carousel > .horizontal-product-list {
    grid: auto / auto-flow var(--horizontal-product-width, 100%);
  }
}

.v-stack {
  display: grid;
}

.h-stack {
  align-items: center;
  display: flex;
}

.container {
  --container-inner-width: min((100vw - var(--scrollbar-width, 0px))  - var(--container-gutter) * 2, var(--container-max-width));
  --container-outer-width: calc(((100vw - var(--scrollbar-width, 0px))  - var(--container-inner-width)) / 2);
  margin-inline-start: max(var(--container-gutter), 50% - var(--container-max-width) / 2);
  margin-inline-end: max(var(--container-gutter), 50% - var(--container-max-width) / 2);
}

.container--narrow {
  --container-max-width: var(--container-narrow-max-width);
}

@media screen and (min-width: 700px) {
  .sm\:container {
    --container-inner-width: min((100vw - var(--scrollbar-width, 0px))  - var(--container-gutter) * 2, var(--container-max-width));
    --container-outer-width: calc(((100vw - var(--scrollbar-width, 0px))  - var(--container-inner-width)) / 2);
    margin-inline-start: max(var(--container-gutter), 50% - var(--container-max-width) / 2);
    margin-inline-end: max(var(--container-gutter), 50% - var(--container-max-width) / 2);
  }
}

.bleed {
  scroll-padding-inline: var(--container-outer-width);
  margin-inline-start: calc(-1 * var(--container-outer-width));
  margin-inline-end: calc(-1 * var(--container-outer-width));
  padding-inline-start: var(--container-outer-width);
  padding-inline-end: var(--container-outer-width);
  display: grid;
}

.full-bleed {
  margin-inline-start: calc(-1 * var(--container-outer-width));
  margin-inline-end: calc(-1 * var(--container-outer-width));
  display: grid;
}

@media screen and (min-width: 700px) {
  .sm\:unbleed {
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-inline-start: 0;
    padding-inline-end: 0;
    scroll-padding-inline: 0;
  }
}

@media screen and (min-width: 1000px) {
  .md\:unbleed {
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-inline-start: 0;
    padding-inline-end: 0;
    scroll-padding-inline: 0;
  }
}

@media screen and (min-width: 1150px) {
  .lg\:unbleed {
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-inline-start: 0;
    padding-inline-end: 0;
    scroll-padding-inline: 0;
  }
}

[role="main"] .shopify-section {
  --section-is-first: 0;
  --hash-difference: calc(var(--section-background-hash)  - var(--previous-section-background-hash, -1));
  --hash-difference-abs: max(var(--hash-difference), -1 * var(--hash-difference));
  --background-differs-from-previous: max(0, min(var(--hash-difference-abs, 1), 1));
  background: rgb(var(--background));
  position: relative;
}

[role="main"] .shopify-section:not(.contents) {
  display: flow-root;
}

[role="main"] .shopify-section:empty {
  display: none;
}

[role="main"] .shopify-section:first-child {
  --section-is-first: 1;
}

.section {
  --context-section-spacing-block-start: var(--section-outer-spacing-block);
  --context-section-spacing-block-end: var(--section-outer-spacing-block);
  --context-section-spacing-inline: var(--container-gutter);
  --calculated-section-spacing-block-start: var(--section-spacing-block-start, var(--section-spacing-block, var(--context-section-spacing-block-start)));
  --calculated-section-spacing-block-end: var(--section-spacing-block-end, var(--section-spacing-block, var(--context-section-spacing-block-end)));
  --calculated-section-spacing-inline: var(--section-spacing-inline, var(--context-section-spacing-inline));
  --container-inner-width: min((100vw - var(--scrollbar-width, 0px))  - var(--calculated-section-spacing-inline, 0px) * 2, var(--container-max-width));
  --container-outer-width: calc(((100vw - var(--scrollbar-width, 0px))  - var(--container-inner-width, 0px)) / 2);
  --section-stack-spacing-inline: var(--section-inner-spacing-inline, 0px);
  padding-inline-start: max(var(--calculated-section-spacing-inline), 50% - var(--container-max-width) / 2);
  padding-inline-end: max(var(--calculated-section-spacing-inline), 50% - var(--container-max-width) / 2);
}

.section--tight {
  --calculated-section-spacing-block-start: min(48px, var(--section-spacing-block-start, var(--section-spacing-block, var(--context-section-spacing-block-start))));
  --calculated-section-spacing-block-end: min(48px, var(--section-spacing-block-end, var(--section-spacing-block, var(--context-section-spacing-block-end))));
  --calculated-section-spacing-inline: min(48px, var(--section-spacing-inline, var(--context-section-spacing-inline)));
}

.section--narrow {
  --container-max-width: var(--container-narrow-max-width);
}

.section {
  padding-block-start: calc(var(--background-differs-from-previous) * var(--calculated-section-spacing-block-start));
  padding-block-end: var(--calculated-section-spacing-block-end);
}

@media screen and (min-width: 700px) {
  .section--tight {
    --calculated-section-spacing-block-start: min(48px, var(--section-spacing-block-start, var(--section-spacing-block, var(--context-section-spacing-block-start, 0px))));
    --calculated-section-spacing-block-end: min(48px, var(--section-spacing-block-end, var(--section-spacing-block, var(--context-section-spacing-block-end, 0px))));
  }

  .section-boxed {
    --context-section-spacing-block-start: min(var(--section-inner-max-spacing-block, var(--section-outer-spacing-block)));
    --context-section-spacing-block-end: min(var(--section-inner-max-spacing-block, var(--section-outer-spacing-block)));
    --context-section-spacing-inline: var(--section-inner-spacing-inline);
    --container-inner-width: calc(var(--container-max-width)  - var(--container-outer-width) * 2);
    --container-outer-width: var(--calculated-section-spacing-inline);
    border-radius: var(--rounded-lg);
    box-shadow: var(--shadow-block);
    margin-block-start: calc(var(--background-differs-from-previous) * var(--section-outer-spacing-block-start, var(--section-outer-spacing-block)));
    margin-block-end: var(--section-outer-spacin-block-end, var(--section-outer-spacing-block));
    margin-inline-start: max(var(--container-gutter), 50% - var(--container-max-width) / 2);
    margin-inline-end: max(var(--container-gutter), 50% - var(--container-max-width) / 2);
    padding-block-start: var(--calculated-section-spacing-block-start);
    padding-inline-start: var(--calculated-section-spacing-inline);
    padding-inline-end: var(--calculated-section-spacing-inline);
  }

  .shopify-section:first-child {
    --section-outer-spacing-block-start: 24px;
  }
}

@media screen and (min-width: 1600px) {
  .section--tight {
    --calculated-section-spacing-block-start: min(64px, var(--section-spacing-block-start, var(--section-spacing-block, var(--context-section-spacing-block-start, 0px))));
    --calculated-section-spacing-block-end: min(64px, var(--section-spacing-block-end, var(--section-spacing-block, var(--context-section-spacing-block-end, 0px))));
  }
}

.section-header {
  gap: var(--spacing-4);
  justify-items: start;
  display: grid;
}

@media screen and (min-width: 1150px) {
  .section-header {
    grid-template-columns: 700px;
    justify-content: space-between;
    align-items: end;
  }

  .section-header > .text-with-icon {
    grid-column-start: 2;
  }
}

.section-stack {
  gap: var(--section-stack-spacing-block, 0px) var(--section-stack-spacing-inline, 0px);
  grid-auto-columns: minmax(0, 1fr);
  display: grid;
}

@media screen and (min-width: 1150px) {
  .section-stack--horizontal {
    justify-content: center;
    display: flex;
  }

  .section-stack--center {
    justify-items: center;
  }

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

  .section-stack__intro {
    width: var(--section-stack-intro, 50%);
  }

  .section-stack__main {
    width: var(--section-stack-main, 50%);
  }
}

.page-spacer {
  margin-block-start: var(--spacing-8);
  margin-block-end: var(--section-outer-spacing-block);
}

@media screen and (min-width: 700px) {
  .page-spacer {
    margin-block-start: var(--spacing-12);
  }
}

@media screen and (min-width: 1000px) {
  .page-spacer {
    margin-block-start: var(--spacing-16);
  }
}

.box {
  padding: var(--spacing-8);
}

@media screen and (min-width: 700px) {
  .box {
    padding: var(--spacing-12);
  }
}

.empty-state {
  justify-items: center;
  gap: var(--spacing-5);
  text-align: center;
  margin-block-start: var(--spacing-12);
  margin-block-end: var(--spacing-12);
  display: grid;
}

.empty-state__icon-wrapper {
  position: relative;
}

.empty-state__icon-wrapper > .count-bubble {
  position: absolute;
  top: calc(-1 * var(--spacing-1-5));
}

.empty-state__icon-wrapper > .count-bubble:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: calc(-1 * var(--spacing-1-5));
}

.empty-state__icon-wrapper > .count-bubble:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: calc(-1 * var(--spacing-1-5));
}

@media screen and (min-width: 700px) {
  .empty-state {
    gap: var(--spacing-8);
    margin-block-start: var(--spacing-32);
    margin-block-end: var(--spacing-32);
  }

  .empty-state__icon-wrapper > svg {
    width: var(--spacing-12);
    height: var(--spacing-12);
  }

  .empty-state__icon-wrapper > .count-bubble {
    top: calc(-1 * var(--spacing-3));
  }

  .empty-state__icon-wrapper > .count-bubble:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: calc(-1 * var(--spacing-3));
  }

  .empty-state__icon-wrapper > .count-bubble:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    left: calc(-1 * var(--spacing-3));
  }
}

.scrollable-with-controls {
  gap: var(--spacing-6);
  grid-auto-columns: minmax(0, 1fr);
  display: grid;
}

@media screen and (min-width: 700px) {
  .scrollable-with-controls {
    gap: var(--spacing-10);
  }
}

.line-item {
  --line-item-image-width: var(--spacing-20);
  align-items: start;
  gap: var(--spacing-5);
  display: flex;
}

.line-item__media-wrapper {
  width: var(--line-item-image-width);
  min-width: var(--line-item-image-width);
  position: relative;
}

.line-item__media-wrapper > .pill-loader {
  position: absolute;
  top: calc(50% - .5rem);
}

.line-item__media-wrapper > .pill-loader:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: calc(50% - 1rem);
}

.line-item__media-wrapper > .pill-loader:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: calc(50% - 1rem);
}

.line-item__info {
  justify-items: start;
  gap: var(--spacing-1);
  display: grid;
}

.line-item__info line-item-quantity {
  margin-block-start: var(--spacing-1);
}

@media screen and (min-width: 700px) {
  .line-item {
    --line-item-image-width: var(--spacing-24);
    align-items: center;
  }

  .line-item__actions {
    margin-inline-start: auto;
  }
}

video-media, model-media {
  border-radius: inherit;
  aspect-ratio: var(--aspect-ratio, var(--default-aspect-ratio));
  position: relative;
}

@supports not (aspect-ratio: 1) {
  :is(video-media, model-media):before {
    content: "";
    padding-block-end: calc(100% / (var(--aspect-ratio, var(--default-aspect-ratio))));
    display: block;
  }

  :is(video-media, model-media) > * {
    height: 100%;
    top: 0;
    left: 0;
    position: absolute !important;
  }
}

video-media {
  --default-aspect-ratio: 16 / 9;
}

video-media[host] {
  align-items: center;
  display: grid;
}

video-media[autoplay], video-media:not([autoplay]) ~ :not(video-media) {
  pointer-events: none;
}

video-media:not([playing]) {
  cursor: pointer;
}

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

video-media > video[controls] {
  pointer-events: auto;
}

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

video-media > video:not(:-webkit-full-screen) {
  object-fit: cover;
  object-position: center;
}

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

video-media > :is(iframe, img, svg) {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

video-media:not([loaded]) > :is(video, iframe), video-media[loaded] > img, video-media[loaded] > svg, video-media[loaded]::part(play-button) {
  opacity: 0;
  visibility: hidden;
}

video-media[suspended] ~ * {
  pointer-events: none;
}

video-media::part(play-button) {
  z-index: 1;
  will-change: transform;
  transition: transform .2s ease-in-out, opacity .2s ease-in-out, visibility .2s ease-in-out;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)scale(1);
}

video-media:hover::part(play-button) {
  transform: translate(-50%, -50%)scale(1.1);
}

@media screen and (min-width: 700px) {
  video-media::part(play-button) {
    width: 64px;
    height: 64px;
  }
}

model-media {
  --default-aspect-ratio: 1;
}

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

.video-play-button {
  --play-button-shadow-size: 12px;
  filter: drop-shadow(0 16px 50px #0000000d);
  pointer-events: auto;
  position: relative;
}

.video-play-button:before {
  content: "";
  box-sizing: content-box;
  top: calc(-1 * var(--play-button-shadow-size));
  left: calc(-1 * var(--play-button-shadow-size));
  width: 100%;
  height: 100%;
  padding: var(--play-button-shadow-size);
  background: radial-gradient(50% 50% at 50% 50%, rgb(var(--text-color) / 0) 0%, rgb(var(--text-color)) 100%);
  opacity: .3;
  border-radius: 100%;
  animation: 2s ease-in-out infinite alternate ping;
  position: absolute;
}

@media screen and (min-width: 700px) {
  .video-play-button {
    --play-button-shadow-size: 20px;
  }

  .video-play-button svg {
    width: 5rem;
    height: 5rem;
  }
}

.order-summary__header {
  display: none;
}

.order-summary__body td {
  border-top-width: 0;
  padding-block-start: 0;
  padding-block-end: var(--spacing-4);
}

.order-summary__body td:first-child {
  width: 60%;
}

@media screen and (min-width: 700px) {
  .order-summary__header {
    display: table-header-group;
  }

  .order-summary__body td {
    padding-block-end: var(--spacing-6);
  }

  .order-summary__body tr:first-child td {
    padding-block-start: var(--spacing-8);
  }

  .order-summary__body tr:last-child td {
    padding-block-end: var(--spacing-8);
  }
}

.quantity-input {
  width: var(--quantity-input-characters-count, 1ch);
  border-radius: var(--rounded-input);
  text-align: center;
  min-width: 44px;
  font-size: var(--text-xs);
  -webkit-touch-callout: none;
  -webkit-appearance: none;
  background: none;
  border-width: 1px;
  outline: none;
  padding-block-start: var(--spacing-1);
  padding-block-end: var(--spacing-1);
}

.quantity-input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.quantity-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

@media screen and (min-width: 700px) {
  .quantity-input {
    min-width: 48px;
    padding-block-start: var(--spacing-2);
    padding-block-end: var(--spacing-2);
  }
}

.pagination {
  background: rgb(var(--background));
  border-radius: var(--rounded-button);
  border-width: 1px;
  justify-self: center;
  display: flex;
}

.pagination__item {
  place-content: center;
  padding-inline-start: var(--spacing-4);
  padding-inline-end: var(--spacing-4);
  display: grid;
}

.pagination__item--disabled {
  opacity: .5;
}

.pagination__current {
  padding: var(--spacing-2) var(--spacing-1);
}

@media screen and (min-width: 700px) {
  .pagination__item {
    padding-inline-start: var(--spacing-5);
    padding-inline-end: var(--spacing-5);
  }

  .pagination__current {
    padding: var(--spacing-3) var(--spacing-2);
  }
}

.range {
  -webkit-appearance: none;
  appearance: none;
  background: none;
  width: 100%;
}

.range::-webkit-slider-thumb {
  -webkit-appearance: none;
}

.range::-webkit-slider-thumb {
  background: rgb(var(--text-color));
  cursor: pointer;
  border: 2px solid rgb(var(--background));
  z-index: 1;
  width: 16px;
  height: 16px;
  box-shadow: none;
  border-radius: 100%;
  margin-block-start: -6px;
  position: relative;
}

.range::-webkit-slider-runnable-track {
  cursor: pointer;
  background: rgb(var(--text-color) / .12);
  border: none;
  border-radius: 2px;
  width: 100%;
  height: 4px;
}

.range::-moz-range-thumb {
  border: 2px solid rgb(var(--background));
  background: rgb(var(--text-color));
  cursor: pointer;
  border-radius: 100%;
  width: 12px;
  height: 12px;
}

.range::-moz-range-progress {
  cursor: pointer;
  border: none;
  border-radius: 2px;
  width: 100%;
  height: 4px;
}

.range::-moz-range-track {
  cursor: pointer;
  border: none;
  border-radius: 2px;
  width: 100%;
  height: 4px;
}

.range::-moz-range-progress {
  background-color: rgba(var(--text-color));
}

.range::-moz-range-track {
  background-color: rgb(var(--border-color));
}

@media not screen and (pointer: fine) {
  .range::-webkit-slider-thumb {
    width: 20px;
    height: 20px;
    margin-top: -9px;
  }

  .range::-moz-range-thumb {
    width: 16px;
    height: 16px;
  }
}

.range-group {
  background: linear-gradient(to var(--transform-origin-end), rgb(var(--text-color) / .12) var(--range-min), rgb(var(--text-color)) var(--range-min), rgb(var(--text-color)) var(--range-max), rgb(var(--text-color) / .12) var(--range-max));
  border-radius: 2px;
  height: 4px;
  position: relative;
}

.range-group .range {
  pointer-events: none;
  vertical-align: top;
  height: 4px;
}

.range-group .range::-webkit-slider-runnable-track {
  background: none;
}

.range-group .range::-webkit-slider-thumb {
  pointer-events: auto;
}

.range-group .range::-moz-range-progress {
  background: none;
}

.range-group .range::-moz-range-track {
  background: none;
}

.range-group .range::-moz-range-thumb {
  pointer-events: auto;
}

.range-group .range:last-child {
  position: absolute;
  top: 0;
}

.range-group .range:last-child:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: 0;
}

.range-group .range:last-child:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: 0;
}

.input-group {
  align-items: center;
  column-gap: 20px;
  display: flex;
}

.input-prefix {
  border-radius: min(10px, var(--rounded-button));
  border: 1px solid rgb(var(--text-color) / .12);
  flex: 1 0 0;
  justify-content: space-between;
  align-items: center;
  min-width: 0;
  padding: 10px 15px;
  display: flex;
}

.input-prefix:focus-within {
  border-color: rgb(var(--text-color));
  box-shadow: inset 0 0 0 1px rgb(var(--text-color));
}

.input-prefix > .field {
  -webkit-appearance: textfield;
  appearance: textfield;
  text-align: end;
  background: none;
  border: none;
  width: 100%;
  min-width: 0;
  margin-inline-start: 10px;
  padding: 0;
}

.input-prefix > .field:focus {
  outline: none;
}

.input-prefix > .field::-webkit-outer-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}

.input-prefix > .field::-webkit-inner-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}

.price-range {
  gap: 24px;
  padding-block-start: 4px;
  display: grid;
}

.price-range--inline {
  padding: var(--spacing-1);
  grid-template-columns: minmax(110px, auto) 380px minmax(110px, auto);
  align-items: center;
}

@media screen and not (pointer: fine) {
  .price-range {
    row-gap: 18px;
    padding-block-start: 10px;
  }
}

.product-list {
  grid: var(--product-list-grid);
  gap: var(--product-list-gap);
  scroll-padding-top: calc(var(--sticky-area-height)  + 20px);
  display: grid;
  position: relative;
}

.product-list__promo {
  grid-column: var(--product-list-promo-grid-column, span 2);
  min-height: 200px;
  display: grid;
}

@media screen and (min-width: 700px) {
  @supports (grid-template-rows: subgrid) {
    .product-list {
      grid-template-rows: auto auto;
    }

    .product-list > * {
      grid-template-rows: subgrid;
      grid-row: span 2;
      gap: 0;
    }

    .product-list__promo :is(img, video-media) {
      position: absolute;
    }

    .product-list:not(:has(.product-card--blends)) .product-list__promo .content-over-media {
      grid-row: span 2;
      min-height: 300px;
    }

    .product-card__info {
      align-content: start;
    }
  }
}

.rating {
  align-items: center;
  gap: var(--spacing-1-5);
  display: flex;
}

.rating__stars {
  display: contents;
}

.rating__star {
  color: rgb(var(--star-color));
  position: relative;
  top: -1px;
}

.rating__star--empty {
  filter: grayscale();
}

@media screen and (min-width: 700px) {
  .rating__star {
    width: 15px;
    height: 15px;
  }
}

.rating-with-text {
  gap: var(--spacing-2);
  grid-template-columns: minmax(0, 1fr);
  grid-auto-flow: column;
  align-items: baseline;
  display: grid;
}

.buy-buttons {
  align-items: start;
  gap: var(--spacing-2);
  display: grid;
}

.buy-buttons--compact {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

@media screen and (min-width: 700px) {
  .buy-buttons--multiple {
    gap: var(--spacing-4);
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  }
}

.product-card {
  --product-card-badge-spacing: var(--spacing-2);
  --product-card-info-padding: var(--spacing-4);
  --product-card-quick-buy-inset: var(--spacing-2);
  border-radius: var(--rounded-sm);
  isolation: isolate;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  align-items: start;
  display: grid;
  position: relative;
}

.product-card__figure {
  display: block;
  position: relative;
}

.product-card__badge-list {
  gap: var(--spacing-2);
  pointer-events: none;
  z-index: 5;
  display: grid;
  position: absolute;
  top: var(--product-card-badge-spacing);
}

.product-card__badge-list:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: var(--product-card-badge-spacing);
}

.product-card__badge-list:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: var(--product-card-badge-spacing);
}

.product-card__image {
  object-fit: contain;
  object-position: center;
  transition: opacity .2s ease-in-out;
}

.product-card__image:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  border-top-left-radius: var(--rounded-sm);
  border-top-right-radius: var(--rounded-sm);
}

.product-card__image:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  border-top-right-radius: var(--rounded-sm);
  border-top-left-radius: var(--rounded-sm);
}

.product-card__image--secondary {
  display: none;
}

.product-card__title {
  line-height: 1.5;
}

.product-card__quick-buy {
  position: absolute;
  bottom: var(--product-card-quick-buy-inset);
}

.product-card__quick-buy:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: var(--product-card-quick-buy-inset);
}

.product-card__quick-buy:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: var(--product-card-quick-buy-inset);
}

.product-card__mobile-quick-buy-button {
  background: rgb(var(--background-primary));
  width: 2.25rem;
  height: 2.25rem;
  color: rgb(var(--text-primary) / .7);
  border-radius: var(--rounded-button);
  border-width: 1px;
  place-content: center;
  display: grid;
}

.product-card__mobile-quick-buy-button > .button__loader {
  gap: var(--spacing-1);
}

.product-card__mobile-quick-buy-button > .button__loader > * {
  width: var(--spacing-1);
  height: var(--spacing-1);
}

.product-card__info {
  gap: var(--spacing-1);
  padding: var(--product-card-info-padding);
  grid-template-columns: minmax(0, 1fr);
  justify-items: start;
  display: grid;
}

.product-card--blends .product-card__info {
  padding-block-end: 0;
  padding-inline-start: 0;
  padding-inline-end: 0;
}

.product-card__info--center {
  text-align: center;
  justify-content: center;
  justify-items: center;
}

.product-card__variant-list {
  display: none;
}

@media screen and (min-width: 700px) {
  .product-card {
    --product-card-badge-spacing: var(--spacing-4);
    --product-card-info-padding: var(--spacing-5);
    --product-card-quick-buy-inset: var(--spacing-4);
  }

  .product-card__aside {
    margin-block-start: var(--spacing-1);
  }

  .product-card__variant-list {
    gap: var(--spacing-2);
    margin-block: var(--spacing-2) 2px;
    flex-wrap: wrap;
    display: flex;
  }
}

@media screen and (min-width: 1400px) {
  .product-card__info {
    --product-card-info-padding: var(--spacing-6) var(--spacing-8) var(--spacing-8) var(--spacing-8);
  }
}

@media screen and (pointer: fine) {
  :is(.product-card--show-secondary-media:focus-within .product-card__figure, .product-card--show-secondary-media .product-card__figure:hover) .product-card__image--primary {
    opacity: 0;
  }

  :is(.product-card--show-secondary-media:focus-within .product-card__figure, .product-card--show-secondary-media .product-card__figure:hover) .product-card__image--secondary {
    opacity: 1;
  }

  .product-card__image--secondary {
    opacity: 0;
    display: block;
  }

  .product-card__quick-buy {
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease-in-out, transform .2s ease-in-out, visibility .2s ease-in-out;
    transform: translateY(5px);
  }

  .product-card:focus-within .product-card__quick-buy, .product-card:hover .product-card__quick-buy {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}

.model-viewer {
  position: relative;
}

.model-viewer model-viewer {
  aspect-ratio: 1;
  width: 100%;
  height: 100%;
}

.model-viewer .shopify-model-viewer-ui {
  display: block;
}

.shopify-model-viewer-ui.shopify-model-viewer-ui .shopify-model-viewer-ui__controls-area {
  background: rgb(var(--background-primary));
  border-color: rgb(var(--text-primary) / .25);
}

.shopify-model-viewer-ui.shopify-model-viewer-ui .shopify-model-viewer-ui__button {
  color: rgb(var(--text-primary));
}

.shopify-model-viewer-ui.shopify-model-viewer-ui .shopify-model-viewer-ui__button--control:hover {
  color: rgb(var(--text-primary) / .55);
}

.shopify-model-viewer-ui.shopify-model-viewer-ui .shopify-model-viewer-ui__button--control:active, .shopify-model-viewer-ui.shopify-model-viewer-ui .shopify-model-viewer-ui__button--control.focus-visible:focus {
  color: rgb(var(--text-primary) / .55);
  background: rgb(var(--text-primary) / .25);
}

.shopify-model-viewer-ui.shopify-model-viewer-ui .shopify-model-viewer-ui__button--control:not(:last-child):after {
  border-color: rgb(var(--text-primary) / .25);
}

.shopify-model-viewer-ui.shopify-model-viewer-ui .shopify-model-viewer-ui__button--poster {
  background: rgb(var(--background-primary));
  border-color: rgb(var(--text-primary) / .25);
  border-radius: var(--rounded-button);
}

.shopify-model-viewer-ui.shopify-model-viewer-ui .shopify-model-viewer-ui__button--poster:hover, .shopify-model-viewer-ui.shopify-model-viewer-ui .shopify-model-viewer-ui__button--poster:focus {
  color: rgb(var(--text-primary) / .55);
}

.price-list {
  align-items: baseline;
  gap: var(--spacing-0-5) var(--spacing-2);
  flex-wrap: wrap;
  display: flex;
}

.price-list--lg {
  gap: var(--spacing-3);
}

.pickup-drawer::part(close-button) {
  align-self: start;
  margin-block-start: .375rem;
}

.pickup-drawer::part(body) {
  padding-block-start: 0;
  padding-block-end: 0;
}

.pickup-availability__closest-location {
  align-items: start;
  gap: var(--spacing-3);
  display: flex;
}

.pickup-availability__media {
  width: var(--spacing-16);
}

.pickup-availability__location {
  gap: var(--spacing-2);
  padding-block-start: var(--spacing-5);
  padding-block-end: var(--spacing-5);
  display: grid;
}

@media screen and (min-width: 700px) {
  .pickup-availability__media {
    width: var(--spacing-20);
  }

  .pickup-availability__location {
    padding-block-start: var(--spacing-6);
    padding-block-end: var(--spacing-6);
  }
}

.quantity-selector {
  height: var(--input-height);
  background: rgb(var(--input-background, transparent));
  color: rgb(var(--input-text-color, var(--text-color)));
  border-radius: var(--rounded-button);
  border-width: 1px;
  display: inline-flex;
}

.quantity-selector__button {
  padding-inline-start: var(--spacing-5);
  padding-inline-end: var(--spacing-5);
}

.quantity-selector__input {
  -webkit-appearance: textfield;
  appearance: textfield;
  min-width: var(--spacing-6);
  width: var(--quantity-input-characters-count, 1ch);
  background: inherit;
  text-align: center;
}

.quantity-selector__input:focus {
  outline: none;
}

.quantity-selector__input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.quantity-selector__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

@media screen and (min-width: 700px) {
  .quantity-selector__button {
    padding-inline-start: var(--spacing-6);
    padding-inline-end: var(--spacing-6);
  }
}

.product-quick-add {
  z-index: 2;
  visibility: hidden;
  opacity: 0;
  width: 100%;
  padding: 1.25rem;
  transition: visibility .15s ease-in, opacity .15s ease-in, transform .15s ease-in;
  position: fixed;
  bottom: 0;
  transform: translateY(10px);
}

.product-quick-add:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: 0;
}

.product-quick-add:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: 0;
}

.product-quick-add.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

@media screen and (min-width: 700px) {
  .product-quick-add {
    border-radius: var(--rounded-sm);
    background: rgb(var(--dialog-background));
    border-width: 1px;
    width: 35rem;
    padding: 1rem;
    bottom: 1rem;
    transform: translateY(0);
  }

  .product-quick-add:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: 1rem;
  }

  .product-quick-add:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    left: 1rem;
  }

  .product-quick-add__variant {
    grid-template-columns: 80px minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 1.5rem;
    display: grid;
  }

  .product-quick-add__variant.no-image {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

.quick-buy-drawer {
  --drawer-header-padding: var(--spacing-6);
  --drawer-body-padding: var(--spacing-6);
  --shopify-payment-button-padding: .8125rem var(--spacing-6);
  display: none;
}

.quick-buy-drawer::part(close-button) {
  align-self: start;
  margin-block-start: .25rem;
  margin-inline-end: .25rem;
}

.quick-buy-drawer .variant-picker {
  text-align: center;
}

.quick-buy-drawer .variant-picker__option-info, .quick-buy-drawer .variant-picker__option-values {
  justify-content: center;
}

.quick-buy-drawer .variant-picker__option-values--color {
  max-width: 300px;
  margin-inline-start: auto;
  margin-inline-end: auto;
}

.quick-buy-drawer .block-swatch {
  padding: var(--spacing-2-5) var(--spacing-5);
  height: 2.625rem;
}

.quick-buy-drawer .checkbox-container {
  justify-content: center;
}

.quick-buy-drawer__media {
  max-width: var(--spacing-20);
}

.quick-buy-drawer__info {
  gap: var(--spacing-6);
  margin-block-start: 1rem;
  display: grid;
}

@media screen and (min-width: 700px) {
  .quick-buy-drawer {
    --drawer-header-padding: var(--spacing-6);
    width: 560px;
    height: auto;
  }

  .quick-buy-drawer .variant-picker__option-info, .quick-buy-drawer .block-swatch {
    font-size: var(--text-sm);
  }

  .quick-buy-drawer .color-swatch {
    --swatch-size: 1.5rem;
  }

  .quick-buy-drawer .color-swatch--rectangle {
    --swatch-size: 2rem;
  }

  .quick-buy-drawer :is(.button, .shopify-payment-button__button--unbranded) {
    padding: var(--spacing-3) var(--spacing-6) !important;
    font-size: var(--text-sm) !important;
  }

  .quick-buy-drawer shopify-accelerated-checkout, .quick-buy-drawer shopify-accelerated-checkout-cart {
    --shopify-accelerated-checkout-button-block-size: 46px;
  }

  .quick-buy-drawer__info {
    gap: var(--spacing-8);
  }
}

.variant-picker {
  gap: var(--spacing-6);
  grid-template-columns: minmax(0, 1fr);
  display: grid;
}

.variant-picker .popover {
  --popover-anchor-block-spacing: var(--spacing-2);
  --popover-content-max-width: none;
}

.variant-picker .popover, .variant-picker .popover::part(content) {
  width: 100%;
}

.variant-picker__option-info {
  justify-content: space-between;
  align-items: baseline;
  margin-block-end: var(--spacing-2);
  display: flex;
}

.variant-picker__option-values {
  display: flex;
}

.variant-picker__option-values.scroll-area {
  padding-block-start: 1px;
  padding-block-end: 1px;
}

@media screen and (max-width: 699px) {
  .variant-picker__option-values:not(.wrap) .block-swatch {
    white-space: nowrap;
  }
}

@media screen and (min-width: 700px) {
  .variant-picker__option-values {
    flex-wrap: wrap;
  }
}

@media (scripting: none) {
  .variant-picker__option {
    display: none;
  }
}

.prose ol, .list-decimal {
  list-style: inside decimal;
}

.prose ul, .list-disc {
  list-style: inside;
}

.prose :is(ol, ul) :is(ol, ul) {
  margin-block-start: 1em;
  margin-inline-start: 1em;
}

.prose > :first-child, .prose > :first-child :first-child {
  margin-block-start: 0 !important;
}

.prose > :last-child, .prose > :last-child :last-child {
  margin-block-end: 0 !important;
}

.prose * + :is(p, div, ul, ol) {
  margin-block-start: var(--spacing-3);
}

.prose * + :is(.h0, .h1, .h2, h1, h2) {
  margin-block-start: var(--spacing-4);
}

.prose * + :is(.h3, .h4, .h5, .h6, h3, h4, h5, h6) {
  margin-block-start: var(--spacing-3);
}

.prose * + .button {
  margin-block-start: var(--spacing-6) !important;
}

.prose * + span:not(:empty, .metafield-multi_line_text_field) {
  display: inline-block;
}

.prose :is(.h0, .h1, .h2, .h3, .h4, h1, h2, h3, h4) + * {
  margin-block-start: var(--spacing-5);
}

.prose :is(.h5, .h6, h5, h6) + * {
  margin-block-start: var(--spacing-4);
}

.prose :is(p img:not([style*="float"]):only-child, div img:not([style*="float"]):only-child, figure, video) {
  margin-block: var(--spacing-8);
}

.prose figcaption {
  font-style: italic;
  font-size: var(--text-sm);
  color: rgb(var(--text-color) / .7);
  margin-block-start: .5em;
}

.prose ul, .prose ol {
  row-gap: .6em;
  display: grid;
}

.prose br {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

.prose :is(iframe[src*="youtube"], iframe[src*="youtu.be"], iframe[src*="vimeo"]) {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
}

@media screen and (min-width: 700px) {
  .prose * + :is(p, div, ul, ol) {
    margin-block-start: var(--spacing-4);
  }

  .prose * + :is(.h0, .h1, .h2, h1, h2) {
    margin-block-start: var(--spacing-6);
  }

  .prose * + :is(.h3, .h4, h3, h4) {
    margin-block-start: var(--spacing-5);
  }

  .prose * + :is(.h5, .h6, h5, h6) {
    margin-block-start: var(--spacing-4);
  }

  .prose * + .button {
    margin-block-start: var(--spacing-8) !important;
  }

  .prose .h0 + .button {
    margin-block-start: var(--spacing-10) !important;
  }

  .prose :is(.h0, .h1, .h2, .h3, h1, h2, h3) + * {
    margin-block-start: var(--spacing-6);
  }

  .prose :is(.h4, h4) + * {
    margin-block-start: var(--spacing-5);
  }

  .prose :is(.h5, .h6, h5, h6) + * {
    margin-block-start: var(--spacing-4);
  }

  .prose :is(p img:not([style*="float"]):only-child, div img:not([style*="float"]):only-child, figure, video) {
    margin-block: var(--spacing-12);
  }
}

@media screen and (min-width: 1150px) {
  .prose * + p {
    margin-block-start: var(--spacing-6);
  }

  .prose * + :is(.h0, .h1, h1) {
    margin-block-start: var(--spacing-8);
  }

  .prose * + :is(.h2, .h3, .h4, h2, h3, h4) {
    margin-block-start: var(--spacing-6);
  }

  .prose * + :is(.h5, .h6, h5, h6) {
    margin-block-start: var(--spacing-4);
  }

  .prose :is(.h0, .h1, .h2, h1, h2) + * {
    margin-block-start: var(--spacing-8);
  }

  .prose :is(.h3, .h4, h3, h4) + * {
    margin-block-start: var(--spacing-6);
  }

  .prose :is(.h5, .h6, h5, h6) + * {
    margin-block-start: var(--spacing-4);
  }
}

.link, .prose a:not(.button) {
  text-underline: none;
  background: linear-gradient(to right, currentColor, currentColor) 0 min(100%, 1.35em) / 100% 1px no-repeat;
  transition: background-size .3s ease-in-out, color .3s ease-in-out;
}

@supports (height: 1lh) {
  :is(.link, .prose a:not(.button)) {
    background: linear-gradient(to right, currentColor, currentColor) 0 min(100%, 1.2lh) / 100% 1px no-repeat;
  }
}

@media screen and (pointer: fine) {
  :is(.link, .prose a:not(.button)):hover {
    background-size: 0 1px;
  }

  .text-subdued :is(.link, .prose a:not(.button)):hover {
    color: rgb(var(--text-color));
  }
}

.reversed-link {
  text-underline: none;
  background: linear-gradient(to right, currentColor, currentColor) 0 min(100%, 1.35em) / 0 1px no-repeat;
  transition: background-size .3s ease-in-out;
}

@supports (height: 1lh) {
  .reversed-link {
    background: linear-gradient(to right, currentColor, currentColor) 0 min(100%, 1.2lh) / 0 1px no-repeat;
  }
}

@media screen and (pointer: fine) {
  .group:hover .reversed-link, .reversed-link.hover\:show:hover {
    background-size: 100% 1px;
  }
}

.link-faded {
  opacity: .7;
  transition: opacity .2s ease-in-out;
}

@media screen and (pointer: fine) {
  .link-faded:hover {
    opacity: 1;
  }
}

.link-faded-reverse {
  transition: opacity .2s ease-in-out;
}

@media screen and (pointer: fine) {
  .link-faded-reverse:hover {
    opacity: .7;
  }
}

table {
  width: 100%;
}

table caption {
  text-align: inherit;
  margin-block-end: .5rem;
}

th {
  text-align: start;
}

th, td {
  padding: var(--spacing-4);
  vertical-align: top;
}

table:not(.table--bordered) :is(th, td):first-child {
  padding-inline-start: 0;
}

table:not(.table--bordered) :is(th, td):last-child {
  padding-inline-end: 0;
}

thead th {
  border-block-end-width: 1px;
}

tbody tr + tr > *, thead + tbody tr > * {
  border-top-width: 1px;
}

tfoot td {
  border-top-width: 1px;
  padding-block-start: var(--spacing-6);
  padding-block-end: 0;
}

.table-row-hover {
  cursor: pointer;
  transition: background .2s ease-in-out;
}

.table--bordered tr {
  border-width: 1px;
}

.table--sm td {
  padding: var(--spacing-2);
}

@media screen and (pointer: fine) {
  .table-row-hover:hover {
    background: rgb(var(--text-color) / .05);
  }
}

@media screen and (min-width: 700px) {
  th, td {
    padding-block-start: var(--spacing-6);
    padding-block-end: var(--spacing-6);
  }

  tfoot td {
    padding-block-start: var(--spacing-8);
  }
}

.blockquote, .prose blockquote {
  --quote-width: 51px;
  --quote-height: 37px;
  --quote-inset-block-start: calc(var(--spacing-5) * -1);
  --quote-inset-inline-start: var(--spacing-1);
  margin-inline-start: 0;
  margin-inline-end: 0;
  font-weight: bold;
  position: relative;
}

:is(.blockquote, .prose blockquote):before {
  content: "";
  width: var(--quote-width);
  height: var(--quote-height);
  background: rgb(var(--text-color) / .1);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='86' height='55' viewBox='0 0 86 55' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M71.3163 54.6H42.5163L60.3163 0.400024H85.5163L71.3163 54.6ZM29.3163 54.6H0.716309L18.9163 0.400024H44.1163L29.3163 54.6Z' fill='%23252627'/%3E%3C/svg%3E%0A");
  mask-image: url("data:image/svg+xml,%3Csvg width='86' height='55' viewBox='0 0 86 55' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M71.3163 54.6H42.5163L60.3163 0.400024H85.5163L71.3163 54.6ZM29.3163 54.6H0.716309L18.9163 0.400024H44.1163L29.3163 54.6Z' fill='%23252627'/%3E%3C/svg%3E%0A");
  -webkit-mask-size: var(--quote-width) var(--quote-height);
  mask-size: var(--quote-width) var(--quote-height);
  position: absolute;
  top: var(--quote-inset-block-start);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

:is(.blockquote, .prose blockquote):not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)):before {
  left: var(--quote-inset-inline-start);
}

:is(.blockquote, .prose blockquote):is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)):before {
  right: var(--quote-inset-inline-start);
}

.blockquote {
  margin-block-start: var(--spacing-5);
}

.prose blockquote {
  --quote-inset-block-start: calc(var(--spacing-4) * -1);
  --quote-inset-inline-start: calc(50% - (var(--quote-width) / 2));
  text-align: center;
  font-size: var(--text-h3);
  margin-block-start: var(--spacing-14);
  margin-block-end: var(--spacing-10);
  line-height: 1.2;
}

@media screen and (min-width: 700px) {
  .blockquote, .prose blockquote {
    --quote-width: 70px;
    --quote-height: 45px;
  }

  .blockquote {
    --quote-inset-block-start: calc(var(--spacing-6) * -1);
    margin-block-start: var(--spacing-8);
  }
}

@media screen and (min-width: 1150px) {
  .prose blockquote {
    --quote-width: 85px;
    --quote-height: 55px;
    --quote-inset-block-start: calc(var(--spacing-5) * -1);
    margin-block-start: var(--spacing-18);
    margin-block-end: var(--spacing-12);
  }

  .blockquote {
    --quote-inset-inline-start: var(--spacing-2-5);
  }
}

.shape-circle, .shape-square, .shape-diamond {
  --size: var(--spacing-1-5);
  width: var(--size);
  height: var(--size);
  background: currentColor;
  display: block;
}

.shape-circle {
  border-radius: var(--rounded-full);
}

.shape-diamond {
  transform: rotateZ(45deg);
}

.shape-line {
  background: rgb(var(--text-color) / .1);
  width: 1px;
  height: 100%;
}

.shape--sm {
  --size: var(--spacing-1);
}

.shape--lg {
  --size: var(--spacing-2);
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

.skeleton {
  background: rgb(var(--text-color) / .15);
  border-radius: 4px;
  flex-shrink: 0;
  animation: 2.5s cubic-bezier(.4, 0, .6, 1) infinite pulse;
  display: block;
}

.skeleton--tab {
  width: 88px;
  height: 20px;
}

.skeleton--thumbnail {
  width: 80px;
  height: 80px;
}

.skeleton--text {
  height: 12px;
  width: var(--skeleton-text-width, 100%);
}

@media screen and (min-width: 700px) {
  .skeleton--tab {
    width: 148px;
    height: 34px;
  }

  .skeleton--thumbnail {
    width: 96px;
    height: 96px;
  }
}

.color-swatch {
  --swatch-offset: 3px;
  --swatch-size: var(--spacing-7);
  --swatch-margin: calc(var(--swatch-offset) * 2);
  width: var(--swatch-size);
  height: var(--swatch-size);
  margin: var(--swatch-margin);
  background: var(--swatch-background) center / cover;
  flex-shrink: 0;
  place-items: center;
  display: grid;
  position: relative;
}

.color-swatch.is-disabled {
  background: linear-gradient(to bottom right, transparent calc(50% - 1px), rgb(var(--background)) calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px)), var(--swatch-background) center / cover;
}

:disabled + .color-swatch {
  display: none;
}

.color-swatch:before {
  content: "";
  inset: calc(-1 * var(--swatch-offset));
  opacity: 0;
  border-radius: inherit;
  will-change: transform;
  transition: opacity .2s ease-in-out, transform .2s ease-in-out;
  position: absolute;
  transform: scale(.75);
  box-shadow: 0 0 0 2px;
}

:checked + .color-swatch:before, .color-swatch.is-selected:before {
  opacity: 1;
  transform: scale(1);
}

:focus-visible + .color-swatch {
  outline-offset: calc(2px + var(--swatch-offset) * 2);
}

.color-swatch--rectangle {
  --swatch-size: var(--spacing-10);
  height: calc(var(--swatch-size) * .4);
  margin: 0;
}

.color-swatch--rectangle:before {
  width: 100%;
  bottom: -3px;
  box-shadow: 0 2px;
}

.color-swatch--rectangle:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)):before {
  left: 0;
}

.color-swatch--rectangle:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)):before {
  right: 0;
}

.color-swatch--sm {
  --swatch-size: var(--spacing-3-5);
  --swatch-offset: 2px;
}

.color-swatch--rectangle.color-swatch--sm {
  --swatch-size: var(--spacing-5);
  margin-block-start: 7px;
  margin-block-end: 6px;
}

.color-swatch--rectangle.color-swatch--sm:before {
  bottom: -2px;
}

.color-swatch__view-more {
  padding: 1px var(--spacing-2);
  color: rgb(var(--text-color) / .7);
  border-width: 1px;
  margin-inline-start: var(--spacing-1-5);
}

.thumbnail-swatch {
  --swatch-size: 60px;
  width: var(--swatch-size);
  height: var(--swatch-size);
  border-radius: min(4px, var(--rounded-input));
  flex-shrink: 0;
  display: block;
  position: relative;
}

.thumbnail-swatch:before {
  content: "";
  border-radius: inherit;
  opacity: 0;
  will-change: transform;
  transition: opacity .2s ease-in-out, transform .2s ease-in-out;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  transform: scale(.95);
  box-shadow: 0 0 0 2px;
}

:disabled + .thumbnail-swatch {
  display: none;
}

.thumbnail-swatch.is-disabled:after {
  content: "";
  background-image: linear-gradient(to bottom right, transparent calc(50% - 1px), rgb(var(--text-color) / .5) calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px));
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.thumbnail-swatch > img {
  border-radius: inherit;
  height: 100%;
}

:checked + .thumbnail-swatch:before, .thumbnail-swatch.is-selected:before {
  opacity: 1;
  transform: scale(1);
}

:focus-visible + .thumbnail-swatch {
  outline-offset: 4px;
}

.thumbnail-swatch--sm {
  --swatch-size: 48px;
}

.thumbnail-swatch__view-more {
  width: var(--spacing-12);
  height: var(--spacing-12);
  border-radius: min(4px, var(--rounded-input));
  border-width: 1px;
  place-items: center;
  display: grid;
}

.block-swatch {
  place-items: center;
  gap: var(--spacing-3);
  height: var(--input-height);
  border-radius: var(--rounded-button);
  background: rgb(var(--input-background, var(--background))) no-repeat;
  border-width: 1px;
  padding-inline-start: var(--spacing-5);
  padding-inline-end: var(--spacing-5);
  display: flex;
  position: relative;
}

.block-swatch.is-disabled {
  color: rgb(var(--text-color) / .5);
  background-image: linear-gradient(to bottom right, #0000 50%, currentColor 50% calc(50% + 2px), #0000 calc(50% + 2px));
}

:disabled + .block-swatch {
  display: none;
}

.block-swatch:before {
  content: "";
  box-shadow: 0 0 0 2px rgb(var(--text-color));
  border-radius: inherit;
  opacity: 0;
  will-change: transform;
  transition: opacity .2s ease-in-out, transform .2s ease-in-out;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  transform: scale(.95);
}

:checked + .block-swatch.is-disabled {
  background-image: linear-gradient(to bottom right, transparent 50%, rgb(var(--text-color)) 50% calc(50% + 2px), transparent calc(50% + 2px));
}

:checked + .block-swatch:before, .block-swatch.is-selected:before {
  opacity: 1;
  transform: scale(1);
}

:focus-visible + .block-swatch {
  outline-offset: 4px;
}

.block-swatch__color {
  width: var(--spacing-3-5);
  height: var(--spacing-3-5);
  border-radius: var(--rounded-full);
  background: var(--swatch-background) center / cover;
}

@media screen and (min-width: 700px) {
  .block-swatch {
    padding-inline-start: var(--spacing-6);
    padding-inline-end: var(--spacing-6);
  }
}

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

.facet-dialog .image-filter-list {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.image-filter {
  text-align: center;
  border-width: 1px;
  border-radius: 2px;
  flex-direction: column;
  align-items: center;
  row-gap: .5rem;
  padding: 1rem 1rem .75rem;
  transition: border-color .2s ease-in-out, box-shadow .2s ease-in-out;
  display: flex;
}

:checked + .image-filter, .image-filter.is-selected {
  border-color: currentColor;
  box-shadow: inset 0 0 0 1px;
}

.image-filter__image {
  width: 2rem;
}

[data-tooltip] {
  position: relative;
}

@media screen and (pointer: fine) {
  [data-tooltip]:after {
    content: attr(data-tooltip);
    bottom: calc(100% + var(--spacing-2));
    border-radius: min(24px, var(--rounded-button));
    background: rgb(var(--text-color));
    width: max-content;
    color: rgb(var(--background));
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    padding: 2px 10px;
    font-size: 12px;
    font-weight: bold;
    transition: opacity .2s ease-in-out, visibility .2s ease-in-out, transform .2s ease-in-out;
    position: absolute;
    left: 50%;
    transform: translateX(-50%)scale(.9);
  }

  [data-tooltip]:hover:after {
    visibility: visible;
    opacity: 1;
    will-change: transform;
    transform: translateX(-50%)scale(1);
  }
}

.lock {
  overflow: hidden;
}

.text-with-icon {
  gap: var(--spacing-3);
  align-items: center;
  display: flex;
}

.text-with-icon > svg {
  flex-shrink: 0;
}

.offer {
  gap: var(--spacing-2);
  padding: var(--spacing-5);
  border-radius: var(--rounded-sm);
  display: grid;
}

.offer--center {
  text-align: center;
  justify-items: center;
}

.social-media {
  gap: var(--spacing-3) var(--spacing-6);
  flex-wrap: wrap;
  display: flex;
}

.social-media--sm svg {
  width: 1.25rem;
  height: 1.25rem;
}

@media screen and (min-width: 700px) {
  .social-media--sm svg {
    width: 1.7rem;
    height: 1.7rem;
  }
}

.share-buttons {
  align-items: center;
  gap: var(--spacing-2-5);
  display: flex;
}

.share-buttons__item {
  width: var(--spacing-8-5);
  height: var(--spacing-8-5);
  opacity: .7;
  background: rgb(var(--text-color) / 0);
  border-radius: var(--rounded-full);
  place-content: center;
  transition: opacity .2s ease-in-out, background .2s ease-in-out;
  display: grid;
}

.share-buttons__item:hover {
  opacity: 1;
  background: rgb(var(--text-color) / .1);
}

.floating-controls-container {
  position: relative;
}

.floating-controls-container .circle-button {
  opacity: 0;
  visibility: hidden;
  z-index: 1;
  transition: opacity .1s ease-in-out, transform .1s ease-in-out, visibility .1s ease-in-out;
  position: absolute;
  top: calc(50% - 24px);
  transform: scale(.8);
}

.floating-controls-container .circle-button:first-of-type:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: var(--spacing-5);
}

.floating-controls-container .circle-button:first-of-type:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: var(--spacing-5);
}

.floating-controls-container .circle-button:last-of-type:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: var(--spacing-5);
}

.floating-controls-container .circle-button:last-of-type:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: var(--spacing-5);
}

@media screen and (pointer: fine) {
  .floating-controls-container:hover .is-scrollable ~ .circle-button:not([disabled]) {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
  }
}

.icon {
  vertical-align: middle;
  display: block;
}

[dir="rtl"] .reverse-icon {
  transform: rotate(180deg);
}

.offset-icon {
  --icon-baseline-distance: calc(1em * 1.6);
  --icon-offset: calc((var(--icon-baseline-distance)  - var(--icon-height)) / 2);
  top: var(--icon-offset);
  position: relative;
}

.icon-chevron-bottom {
  transition: transform .2s ease-in-out;
}

.group[aria-expanded="true"] > .icon-chevron-bottom {
  transform: rotate(180deg);
}

.icon-block {
  padding: var(--spacing-6);
  background: rgb(var(--background));
}

.image-icon {
  width: var(--mobile-icon-max-width, var(--icon-max-width));
}

@media screen and (min-width: 700px) {
  .image-icon {
    width: var(--icon-max-width);
  }
}

custom-cursor {
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  scale: .5;
  transition: opacity .1s, scale .1s, visibility .1s !important;
}

@media screen and (pointer: fine) {
  custom-cursor {
    display: block;
  }

  custom-cursor.is-visible {
    opacity: 1;
    visibility: visible;
    scale: 1;
  }
}

:has( > custom-cursor:not([hidden])) {
  cursor: none;
}

scroll-shadow {
  --scroll-shadow-size: 30px;
}

split-lines {
  overflow-wrap: anywhere;
}

product-rerender {
  display: contents;
}

.nav-categories {
  --filter-list-item-padding: var(--spacing-2-5) var(--spacing-5);
  white-space: nowrap;
}

.nav-categories [aria-selected="true"] {
  background-color: rgb(var(--background-primary));
  color: rgb(var(--text-primary));
}

.nav-categories [aria-selected="false"] {
  opacity: .5;
  transition: opacity .2s ease-in-out;
}

@media screen and (pointer: fine) {
  .nav-categories [aria-selected="false"]:hover {
    opacity: 1;
  }
}

.nav-categories button, .nav-categories a {
  padding: var(--filter-list-item-padding);
  display: block;
}

@media screen and (min-width: 700px) {
  .nav-categories {
    --filter-list-item-padding: var(--spacing-4) var(--spacing-6);
  }
}

.customer-form__image {
  display: none;
}

.customer-form__box {
  padding: var(--spacing-14) var(--container-gutter);
}

.customer-form__box-inner {
  max-width: 440px;
  margin-inline-start: auto;
  margin-inline-end: auto;
  display: block;
}

@media screen and (min-width: 700px) {
  .customer-form {
    margin-block-start: var(--spacing-10);
    margin-block-end: var(--spacing-10);
  }

  .customer-form__box {
    border-radius: var(--rounded);
    padding-inline-start: var(--spacing-16);
    padding-inline-end: var(--spacing-16);
  }
}

@media screen and (min-width: 1000px) {
  .customer-form {
    gap: var(--spacing-6);
    grid: auto / auto-flow minmax(0, 680px);
    justify-content: center;
    display: grid;
  }

  .customer-form__image {
    object-fit: cover;
    object-position: center;
    height: 100%;
    display: block;
  }
}

.account {
  gap: var(--spacing-6);
  max-width: 1350px;
  margin-inline-start: auto;
  margin-inline-end: auto;
  display: grid;
}

.account-nav__item {
  padding-block-start: var(--spacing-4-5);
  padding-block-end: var(--spacing-4-5);
}

.account-nav__item[aria-current="page"] {
  border-color: currentColor;
  border-bottom-width: 2px;
}

.account-header, .account__block-list {
  gap: var(--spacing-6);
  display: grid;
  position: relative;
}

@media screen and (min-width: 700px) {
  .account {
    gap: var(--spacing-12);
  }

  .account-nav__item--logout {
    position: absolute;
  }

  .account-nav__item--logout:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: 0;
  }

  .account-nav__item--logout:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    left: 0;
  }

  .account-header--back {
    text-align: center;
    justify-content: center;
  }

  .account-header--back > .back-button {
    position: absolute;
  }
}

.order-table-list {
  display: none;
}

.order-grid-list {
  gap: var(--spacing-5);
  display: grid;
}

.order-grid-item {
  gap: var(--spacing-4);
  padding: var(--spacing-6);
  border-width: 1px;
  padding-block-start: var(--spacing-5);
  display: grid;
}

.order-grid-item__categories {
  gap: var(--spacing-4);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  display: grid;
}

@media screen and (min-width: 700px) {
  .order-grid-list {
    display: none;
  }

  .order-table-list {
    max-width: 1024px;
    margin-inline-start: auto;
    margin-inline-end: auto;
    display: table;
  }

  .order-table-list th, .order-table-list td {
    padding-inline-start: var(--spacing-4);
    padding-inline-end: var(--spacing-4);
  }
}

.addresses-list {
  --addresses-per-row: 1;
  gap: var(--spacing-5);
  display: grid;
}

.address {
  gap: var(--spacing-2);
  width: 100%;
  padding: var(--spacing-6);
  border-width: 1px;
  flex-direction: column;
  display: flex;
}

.address__actions {
  gap: var(--spacing-6);
  margin-block-start: auto;
  padding-block-start: var(--spacing-2);
  display: flex;
}

.address-form {
  gap: var(--spacing-3);
  display: grid;
}

@media screen and (min-width: 700px) {
  .addresses-list {
    --addresses-per-row: 2;
    grid-template-columns: repeat(auto-fit, minmax(0, calc(100% / var(--addresses-per-row)  - var(--spacing-6) / var(--addresses-per-row) * (var(--addresses-per-row)  - 1))));
    gap: var(--spacing-6);
    justify-content: center;
    justify-items: center;
  }

  .address {
    padding: var(--spacing-8) var(--spacing-10);
  }

  .address-form {
    gap: var(--spacing-6);
  }
}

@media screen and (min-width: 1000px) {
  .addresses-list {
    --addresses-per-row: 4;
  }
}

.order {
  align-items: start;
  gap: var(--spacing-6);
  display: grid;
}

.order-addresses-list {
  gap: var(--spacing-5);
  display: grid;
}

@media screen and (min-width: 700px) {
  .order {
    gap: var(--spacing-12);
  }

  .order-addresses-list {
    gap: var(--spacing-6);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (min-width: 1150px) {
  .order {
    grid-template-columns: 1fr 380px;
  }

  .order-addresses-list {
    grid-template-columns: none;
  }
}

@media screen and (min-width: 1400px) {
  .order {
    gap: var(--spacing-24);
  }
}

.announcement-bar {
  padding-block-start: var(--spacing-2-5);
  padding-block-end: var(--spacing-2-5);
}

.announcement-bar__wrapper {
  gap: var(--spacing-4);
  max-width: 450px;
  margin-inline-start: auto;
  margin-inline-end: auto;
  display: flex;
}

.announcement-bar__scrolling-list {
  grid: auto / auto-flow max-content;
  justify-content: center;
  display: grid;
  overflow: hidden;
}

.announcement-bar__static-list {
  text-align: center;
  place-items: center;
  display: grid;
}

.announcement-bar__static-list > * {
  grid-area: 1 / -1;
}

.announcement-bar__item {
  grid: auto / auto-flow auto var(--spacing-20);
  place-items: center;
  display: grid;
}

@media screen and (min-width: 700px) {
  .announcement-bar {
    padding-block-start: var(--spacing-3-5);
    padding-block-end: var(--spacing-3-5);
  }

  .announcement-bar__item {
    grid-auto-columns: auto var(--spacing-40);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .announcement-bar__item {
    animation: translateFull var(--marquee-animation-duration, 0s) linear infinite;
  }
}

.article {
  --article-margin-block-end: var(--spacing-14);
}

.article > .container {
  justify-content: safe center;
  gap: var(--spacing-10);
  margin-block-end: var(--article-margin-block-end);
  display: grid;
}

@media screen and (min-width: 700px) {
  .article {
    --article-margin-block-end: var(--spacing-28);
  }

  .article > .container {
    gap: var(--spacing-16);
  }
}

.article-banner {
  grid: var(--article-banner-grid);
  column-gap: var(--article-banner-column-gap);
  align-items: var(--article-banner-horizontal-alignement, center);
  max-width: var(--article-banner-max-width);
  box-sizing: content-box;
  justify-items: center;
  margin-inline-start: auto;
  margin-inline-end: auto;
  padding-block-start: var(--article-banner-padding-block-start, 0);
  display: grid;
  position: relative;
}

.article-banner:before {
  content: "";
  width: calc((100vw - var(--scrollbar-width, 0px)));
  height: var(--article-banner-before-height);
  pointer-events: none;
  background-color: rgb(var(--article-banner-background));
  position: absolute;
  top: 0;
}

.article-banner__image {
  z-index: 1;
  width: 100%;
}

.article-banner__image > img {
  width: 100%;
}

.article-banner__content {
  gap: var(--spacing-6);
  padding: var(--article-banner-content-padding-block-start) var(--article-banner-content-padding-inline) var(--article-banner-content-padding-block-end);
  justify-items: var(--article-banner-vertical-alignement, center);
  text-align: var(--article-banner-vertical-alignement, center);
  z-index: 2;
  display: grid;
}

.article-banner__content > .badge {
  --badge-background: var(--article-banner-badge-background);
  padding: var(--spacing-1) var(--spacing-3);
  display: inline-block;
}

.article__meta {
  justify-content: var(--article-banner-meta-vertical-alignment, center);
  row-gap: var(--spacing-2);
  column-gap: var(--spacing-4);
  flex-wrap: wrap;
  display: flex;
}

.article__meta .text-with-icon {
  gap: var(--spacing-2);
}

@media screen and (min-width: 1150px) {
  .article-banner {
    padding-inline-start: var(--container-gutter);
    padding-inline-end: var(--container-gutter);
  }

  .article-banner__content {
    grid-area: var(--article-banner-grid-area, content);
  }

  .article-banner__image {
    grid-area: var(--article-banner-grid-area, image);
    position: relative;
  }

  .article-banner__image:before {
    content: "";
    background: rgb(var(--article-banner-image-overlay));
    border-radius: inherit;
    z-index: 1;
    pointer-events: none;
    transition: background .2s ease-in-out;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }

  .article__meta {
    column-gap: var(--spacing-6);
  }

  .article__meta .text-with-icon {
    gap: var(--spacing-2-5);
  }
}

.article-content {
  width: 100%;
  max-width: var(--article-max-width);
  grid-template-columns: minmax(0, 1fr);
  margin-inline-start: auto;
  margin-inline-end: auto;
  padding-block-start: var(--spacing-10);
}

.article-content > .share-buttons .share-buttons__item {
  width: var(--spacing-10);
  height: var(--spacing-10);
  opacity: 1;
}

@media screen and (min-width: 1000px) {
  .article-content {
    border-bottom-width: 1px;
    padding-block-start: var(--spacing-16);
    padding-block-end: var(--spacing-18);
  }
}

.article-navigation {
  gap: var(--spacing-6);
  max-width: var(--article-max-width);
  display: grid;
}

.article-prev-next {
  gap: var(--spacing-5);
  grid: auto / auto-flow 75vw;
  display: grid;
}

@media screen and (min-width: 700px) {
  .article-navigation {
    --navigation-margin-block: var(--spacing-16);
    gap: var(--spacing-10);
  }

  .article-navigation__title > svg {
    width: 27px;
    height: 24px;
  }

  .article-prev-next {
    gap: var(--spacing-12);
    grid: auto / repeat(2, minmax(0, 1fr));
  }
}

.article-comments {
  --comments-padding-inner: var(--spacing-6);
  gap: var(--spacing-12);
  max-width: var(--article-max-width);
  display: grid;
}

.comments-list {
  gap: var(--spacing-4);
  padding: var(--comments-padding-inner);
  display: grid;
}

.comment {
  gap: var(--spacing-3);
  display: grid;
}

.comment:not(:first-child) {
  padding-block-start: var(--spacing-4);
}

.article-comments__form {
  padding: var(--comments-padding-inner);
}

@media screen and (min-width: 700px) {
  .article-comments {
    --comments-padding-inner: var(--spacing-12);
  }

  .comments-list {
    gap: var(--spacing-8);
  }

  .comment {
    gap: var(--spacing-6);
    display: flex;
  }

  .comment:not(:first-child) {
    padding-block-start: var(--spacing-8);
  }

  .comment__gravatar {
    width: var(--spacing-12);
    height: var(--spacing-12);
  }
}

.before-after {
  --before-after-label-spacing: var(--spacing-5);
  -webkit-user-select: none;
  user-select: none;
  position: relative;
}

.before-after__label {
  position: absolute;
}

.before-after__label--left:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: var(--before-after-label-spacing);
}

.before-after__label--left:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: var(--before-after-label-spacing);
}

.before-after__label--right:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: var(--before-after-label-spacing);
}

.before-after__label--right:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: var(--before-after-label-spacing);
}

.before-after__label--top {
  top: var(--before-after-label-spacing);
}

.before-after__label--bottom {
  bottom: var(--before-after-label-spacing);
}

.before-after__after-image {
  clip-path: inset(0 0 0 calc(var(--before-after-initial-drag-position, 50%)  + var(--clip-path-offset, 0px)));
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

[dir="rtl"] .before-after__after-image {
  clip-path: inset(0 calc(var(--before-after-initial-drag-position, 50%)  - var(--clip-path-offset, 0px)) 0 0);
}

.before-after__cursor-wrapper {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.before-after__cursor {
  touch-action: none;
  width: max-content;
  height: 100%;
  transform: translate(calc(var(--transform-logical-flip) * -50% + var(--clip-path-offset, 0px)), -50%);
  cursor: grab;
  filter: drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);
  will-change: transform;
  place-items: center;
  display: grid;
  position: relative;
}

.before-after__cursor:before {
  content: "";
  height: 100%;
  width: var(--spacing-0-5);
  background: rgb(var(--background));
  z-index: -1;
  position: absolute;
}

.before-after__cursor {
  top: 50%;
}

.before-after__cursor:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: var(--before-after-initial-drag-position, 0px);
}

.before-after__cursor:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: var(--before-after-initial-drag-position, 0px);
}

.before-after__cursor:active {
  cursor: grabbing;
}

@media screen and (min-width: 700px) {
  .before-after {
    --before-after-label-spacing: var(--spacing-8);
  }

  .before-after__cursor svg {
    width: var(--spacing-10);
    height: var(--spacing-10);
  }
}

.blog-posts__container {
  gap: var(--spacing-8);
  margin-block-start: var(--spacing-10);
  margin-block-end: var(--spacing-14);
  display: grid;
}

@media screen and (min-width: 700px) {
  .blog-posts__container {
    gap: var(--spacing-10);
  }
}

@media screen and (min-width: 1400px) {
  .blog-posts__container {
    gap: var(--spacing-20);
    margin-block-start: var(--spacing-20);
    margin-block-end: var(--spacing-28);
  }
}

.blog-banner {
  --banner-container-gap: var(--spacing-16);
  padding-block-start: var(--banner-spacing-block-added, 0px);
}

.blog-banner-content {
  padding-block-start: var(--banner-content-padding-block-start);
  padding-block-end: var(--spacing-16);
}

.blog-banner__form {
  width: 100%;
  max-width: 500px;
  margin-inline-start: auto;
  margin-inline-end: auto;
  padding-inline-start: var(--spacing-6);
  padding-inline-end: var(--spacing-6);
}

@media screen and (min-width: 700px) {
  .blog-banner {
    --banner-container-gap: var(--spacing-28);
  }

  .blog-banner-content {
    padding-block-end: var(--spacing-28);
  }

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

  .blog-filter-list {
    --filter-list-item-padding: var(--spacing-4) var(--spacing-6);
  }
}

.blog-posts {
  --blog-articles-gap: var(--spacing-8);
  align-items: flex-start;
  gap: var(--blog-articles-gap);
  display: grid;
}

.blog-posts-newsletter {
  padding: var(--spacing-8);
  align-content: flex-start;
}

.blog-posts-newsletter > .form {
  gap: var(--spacing-2);
}

@media screen and (min-width: 700px) {
  .blog-posts {
    --article-per-row: var(--blog-posts-per-row, 2);
    --blog-articles-gap: var(--spacing-10);
    --blog-articles-margin-block: var(--spacing-14);
    grid: auto / repeat(var(--article-per-row), minmax(0, 1fr));
  }

  .blog-posts-newsletter {
    padding: var(--spacing-10);
  }

  .blog-posts-newsletter > .form {
    gap: var(--spacing-4);
  }

  .blog-posts-newsletter__content > svg {
    width: var(--spacing-8);
    height: var(--spacing-8);
  }
}

@media screen and (min-width: 1150px) {
  .blog-posts {
    --article-per-row: var(--blog-posts-per-row, 3);
  }
}

@media screen and (min-width: 1400px) {
  .blog-posts {
    --blog-articles-gap: var(--spacing-20);
  }
}

.cart {
  gap: var(--section-stack-spacing-block);
  max-width: 1350px;
  margin-inline-start: auto;
  margin-inline-end: auto;
  display: grid;
}

.cart-header {
  gap: var(--spacing-6);
  text-align: center;
  justify-items: center;
  display: grid;
}

.cart-header .free-shipping-bar {
  max-width: 450px;
}

.cart-order {
  align-items: start;
  gap: var(--spacing-6);
  display: grid;
}

.cart-form {
  gap: var(--spacing-5);
  padding: var(--spacing-6);
  border-width: 1px;
  display: grid;
}

@media screen and (min-width: 700px) {
  .cart-order {
    gap: var(--spacing-12);
  }

  .cart-form {
    gap: var(--spacing-6);
    padding: var(--spacing-10) var(--spacing-12);
  }
}

@media screen and (min-width: 1150px) {
  .cart-order {
    grid-template-columns: 1fr 380px;
  }

  .cart-order__recap {
    top: calc(var(--sticky-area-height)  + 20px);
    position: sticky;
  }
}

@media screen and (min-width: 1400px) {
  .cart-order {
    gap: var(--spacing-24);
  }
}

.free-shipping-bar {
  gap: var(--spacing-2);
  width: 100%;
  display: grid;
}

@media screen and (min-width: 700px) {
  .free-shipping-bar {
    gap: var(--spacing-4);
  }
}

.shipping-estimator {
  gap: var(--spacing-6);
  display: grid;
}

@media screen and (min-width: 700px) {
  .shipping-estimator__form {
    flex-wrap: wrap;
    margin-inline-end: var(--spacing-6);
    display: flex;
  }
}

.cart-discount-field--error {
  --input-text-color: var(--error-text);
}

.cart-discount-field--error .input {
  box-shadow: inset 0 0 0 1px rgb(var(--input-text-color));
  border: 1px solid rgb(var(--input-text-color));
}

.cart-discount-field__loader {
  display: none;
  position: absolute;
  top: calc(50% - .375rem);
}

.cart-discount-field__loader:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: 1rem;
}

.cart-discount-field__loader:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: 1rem;
}

.cart-discount-field[aria-busy="true"] .cart-discount-field__loader {
  animation: 1s linear infinite spin;
  display: block;
}

@keyframes spin {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

.cart-drawer {
  --drawer-footer-padding: 1rem 1.5rem 1.5rem 1.5rem;
  --drawer-content-max-height: none;
  height: 100%;
  top: 0;
}

.cart-drawer::part(outside-close-button) {
  display: none;
}

.cart-drawer > [is="close-button"] {
  display: grid;
}

.cart-drawer__top {
  gap: var(--spacing-2);
  padding-block-end: var(--spacing-6);
  display: grid;
}

.cart-drawer__line-items > * + * {
  padding-block-start: var(--spacing-4);
}

.cart-drawer__note {
  visibility: hidden;
  width: 100%;
  transition: visibility .2s ease-in-out;
  position: absolute;
  bottom: calc(100% + 1px);
  overflow: hidden;
}

.cart-drawer__note:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: 0;
}

.cart-drawer__note:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: 0;
}

.cart-drawer__note-inner {
  padding: var(--spacing-5);
  background: rgb(var(--dialog-background));
  border-block-start-width: 1px;
  transition: transform .2s ease-in-out;
  transform: translateY(100%);
}

.cart-drawer__note[open] {
  visibility: visible;
}

.cart-drawer__note[open] > .cart-drawer__note-inner {
  transform: translateY(0);
}

.cart-drawer__recommendations {
  --horizontal-product-width: 390px;
}

@media screen and (min-width: 700px) {
  .cart-drawer {
    --drawer-footer-padding: 1.5rem 2.5rem 2.5rem 2.5rem;
  }

  .cart-drawer .free-shipping-bar {
    gap: var(--spacing-2-5);
  }

  .cart-drawer .horizontal-product-list-carousel {
    grid-template-columns: none;
  }

  .cart-drawer__top {
    gap: var(--spacing-4);
    padding-block-end: var(--spacing-8);
  }

  .cart-drawer__line-items > * + * {
    padding-block-start: var(--spacing-6);
  }

  .cart-drawer__note-inner {
    padding: var(--spacing-8) var(--spacing-10) var(--spacing-10) var(--spacing-10);
  }
}

.collection {
  --collection-sidebar-width: 250px;
  gap: var(--spacing-8);
  grid-template-columns: minmax(0, 1fr);
  margin-block-start: var(--spacing-8);
  margin-block-end: var(--section-outer-spacing-block);
  display: grid;
}

.collection__top-bar, .collection__facets {
  display: none;
}

.collection__results {
  scroll-padding-top: calc(var(--sticky-area-height)  + 20px);
  transition: opacity .1s;
}

.is-loading .collection__results {
  opacity: .4;
}

@media screen and (min-width: 700px) {
  .collection {
    margin-block-start: var(--spacing-12);
  }
}

@media screen and (min-width: 1000px) {
  .collection {
    column-gap: var(--spacing-12);
  }

  .collection--filters-sidebar {
    grid-template-columns: var(--collection-sidebar-width) minmax(0, 1fr);
  }

  .collection__top-bar {
    column-gap: var(--spacing-6);
    grid-column: 1 / -1;
    grid-template-columns: auto minmax(0, 1fr);
    display: grid;
  }

  .collection--filters-sidebar .collection__top-bar {
    grid-template-columns: inherit;
    column-gap: inherit;
  }

  .collection--filters-horizontal .collection__top-bar {
    row-gap: var(--spacing-8);
    grid-template-columns: 100%;
  }

  .collection__facets {
    display: block;
  }

  .facets-summary {
    align-items: start;
    gap: var(--spacing-4);
    grid-column-end: -1;
    display: flex;
  }

  .collection__facets-scroller {
    display: block;
    position: sticky;
    top: calc(var(--sticky-area-height)  + 20px);
  }

  .collection__pagination {
    grid-column-end: -1;
  }

  .availability-facet {
    align-items: center;
    gap: var(--spacing-4);
    display: flex;
  }

  .collection--filters-horizontal .availability-facet, .collection--filters-horizontal .sort-by-facet {
    flex: 1 0 0;
    min-width: max-content;
  }
}

@media screen and (min-width: 1400px) {
  .collection {
    --collection-sidebar-width: 300px;
  }
}

.sort-by-facet {
  justify-content: end;
  gap: var(--spacing-1);
  flex-shrink: 0;
  margin-inline-start: auto;
  display: flex;
  position: relative;
}

.facets__floating-filter {
  text-align: center;
  z-index: 2;
  width: 100%;
  position: fixed;
  bottom: var(--spacing-8);
}

.facets__floating-filter:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: 0;
}

.facets__floating-filter:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: 0;
}

.facets-drawer::part(header) {
  padding-block: var(--spacing-6);
}

.facets-drawer::part(body) {
  flex-grow: 1;
  padding-block-start: 0;
  padding-block-end: 0;
}

.facets-drawer .facets-vertical {
  flex-direction: column;
  min-height: 100%;
  display: flex;
}

.facets-drawer .accordion {
  border-block-start-width: 0;
}

.facets-drawer__floating-apply {
  background: linear-gradient(180deg, rgb(var(--background-primary) / 0), rgb(var(--background)));
  margin-block-start: auto;
  margin-inline-start: calc(-1 * var(--spacing-3));
  margin-inline-end: calc(-1 * var(--spacing-3));
  padding-block-start: var(--spacing-5);
  padding-block-end: var(--spacing-5);
  position: sticky;
  bottom: 0;
}

@media screen and (max-width: 699px) {
  .facets-drawer::part(header) {
    display: none;
  }

  .facets-drawer::part(content) {
    height: 65vh;
    max-height: none;
  }
}

@media screen and (min-width: 700px) {
  .facets-drawer__floating-apply {
    margin-inline-start: calc(-1 * var(--spacing-4));
    margin-inline-end: calc(-1 * var(--spacing-4));
    padding-block-start: var(--spacing-6);
    padding-block-end: var(--spacing-6);
  }
}

.facets-horizontal {
  justify-content: center;
  align-items: center;
  gap: var(--spacing-5) var(--spacing-10);
  flex-wrap: wrap;
  display: flex;
  position: relative;
}

.facets-horizontal > [aria-expanded] {
  transition: opacity .2s ease-in-out;
}

@supports selector(:has(*)) {
  .facets-horizontal > [aria-expanded="true"] ~ [aria-expanded] {
    opacity: .5;
  }

  .facets-horizontal > :has( ~ [aria-expanded="true"]) {
    opacity: .5;
  }
}

.active-facets {
  align-items: center;
  gap: var(--spacing-2);
  flex-wrap: wrap;
  display: flex;
}

.active-facets > .facet-clear-all {
  margin-inline-start: var(--spacing-2);
}

@media screen and (min-width: 1000px) {
  .active-facets {
    margin-block-start: -12px;
    margin-block-end: -12px;
  }

  .active-facets > .facet-clear-all {
    margin-inline-start: var(--spacing-4);
  }

  .collection--filters-horizontal .active-facets {
    margin-block-start: 0;
    margin-block-end: 0;
  }
}

.removable-facet {
  gap: var(--spacing-3);
  padding: var(--spacing-2-5) var(--spacing-4);
  background: rgb(var(--text-color) / .1);
  color: rgb(var(--text-color));
  border-radius: var(--rounded-button);
  flex-shrink: 0;
  align-items: baseline;
  display: flex;
}

@media screen and (min-width: 700px) {
  .removable-facet {
    padding: var(--spacing-3) var(--spacing-5);
    gap: var(--spacing-4);
  }
}

.facet-dialog {
  width: max-content;
  max-width: min(1100px, 80vw);
  padding: var(--spacing-4);
  border-radius: min(8px, var(--rounded-button));
  background: rgb(var(--background-primary));
  visibility: hidden;
  opacity: 0;
  z-index: 1;
  border-width: 1px;
  transition: opacity .2s ease-in-out, visibility .2s ease-in-out;
  position: absolute;
  top: calc(100% + var(--spacing-6));
}

.facet-dialog:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: 0;
}

.facet-dialog:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: 0;
}

.facet-dialog > .color-list {
  margin: var(--spacing-1) var(--spacing-2);
  max-width: 550px;
}

.availability-facet + .facets-horizontal > .facet-dialog:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: auto;
}

.availability-facet + .facets-horizontal > .facet-dialog:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: auto;
}

.facet-dialog[open] {
  visibility: visible;
  opacity: 1;
}

.facet-dialog-option {
  padding: var(--spacing-3) var(--spacing-6);
  border-radius: var(--rounded-full);
  opacity: .7;
  transition: opacity .2s ease-in-out, background .2s ease-in-out;
  display: block;
}

:checked + .facet-dialog-option, .facet-dialog-option:hover {
  background: rgb(var(--text-primary) / .04);
  opacity: 1;
}

.collection-header {
  text-align: center;
  margin-block-start: var(--spacing-8);
  margin-block-end: var(--spacing-8);
}

@media screen and (min-width: 700px) {
  .collection-header {
    margin-block-start: var(--spacing-16);
    margin-block-end: var(--spacing-16);
  }
}

.collection-featured-product {
  max-width: 290px;
  display: grid;
}

.collection-featured-product > * {
  background: rgb(var(--text-primary) / .2);
  -webkit-backdrop-filter: blur(80px);
  backdrop-filter: blur(80px);
}

.collection-featured-product__title {
  padding: var(--spacing-1-5) var(--spacing-4);
  border-top-left-radius: var(--rounded-xs);
  border-top-right-radius: var(--rounded-xs);
  justify-self: end;
}

.collection-featured-product__content {
  border-radius: var(--rounded-xs);
  border-top-right-radius: 0;
}

.collection-list {
  grid: var(--collection-list-grid, none);
  align-items: start;
  gap: var(--grid-gutter);
  display: grid;
}

.collection-card {
  --transition-direction: 1;
  scroll-snap-align: center;
  scroll-snap-stop: always;
  overflow: hidden;
}

.collection-card--reverse-transition {
  --transition-direction: -1;
}

.collection-card__content-wrapper svg {
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s, visibility .2s, transform .2s;
  display: inline-block;
}

.collection-card__content + svg {
  transform: translateY(calc(var(--transition-direction) * 48px));
}

.collection-card__content {
  transition: transform .2s;
}

.collection-card__content:first-child {
  margin-block-end: -3rem;
}

@media screen and (min-width: 1000px) {
  .collection-card {
    scroll-snap-align: none;
  }
}

@media screen and (pointer: fine) {
  .collection-card:hover .collection-card__content {
    transform: translateY(calc(var(--transition-direction) * -8px));
  }

  .collection-card:hover .collection-card__content-wrapper svg {
    opacity: 1;
    visibility: visible;
    transform: translateY(-8px);
  }

  .collection-card:hover .collection-card__content + svg {
    transform: translateY(56px);
  }
}

@supports selector(:has(.selector)) {
  .shopify-section--collection-banner + .shopify-section--collection-list:not(:has(.section-header)) {
    --section-outer-spacing-block: var(--grid-gutter);
  }
}

@supports not selector(:has(.selector)) {
  .shopify-section--collection-banner + .shopify-section--collection-list {
    --section-outer-spacing-block: var(--grid-gutter);
  }
}

.contact-form {
  padding: var(--spacing-6);
}

@media screen and (min-width: 700px) {
  .contact-form {
    padding: var(--spacing-10) var(--spacing-12);
  }
}

.faq-availability {
  gap: var(--spacing-6);
  text-align: center;
  justify-items: center;
  display: grid;
}

.faq-availability > * {
  justify-items: inherit;
}

.section-stack__intro .faq-availability {
  text-align: start;
  justify-items: start;
}

.feature-chart {
  padding: 0 var(--container-gutter);
  scroll-padding-top: var(--sticky-area-height);
  display: block;
}

.feature-chart__table-row {
  --feature-chart-heading-width: 140px;
  grid-template-columns: var(--feature-chart-heading-width) repeat(var(--feature-chart-values-columns-count), minmax(140px, 1fr));
  gap: var(--spacing-1) var(--spacing-5);
  min-width: min-content;
  padding-block-start: var(--spacing-4);
  padding-block-end: var(--spacing-4);
  display: grid;
}

.feature-chart__toggle {
  text-align: center;
  border-top-width: 1px;
  justify-content: center;
  padding-block-start: var(--spacing-4);
  padding-block-end: var(--spacing-4);
  display: grid;
}

.feature-chart.is-expanded .feature-chart__toggle .circle-chevron {
  transform: rotate(180deg);
}

.feature-chart__product {
  --feature-chart-product-image-width: 80px;
  gap: var(--spacing-5);
  place-content: start;
  display: grid;
  position: relative;
}

.feature-chart__product :is(img, svg) {
  width: var(--feature-chart-product-image-width);
}

.feature-chart__product .color-swatch {
  margin: 0;
}

.feature-chart__product .badge {
  position: absolute;
  top: 0;
}

.feature-chart__product .badge:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: 0;
}

.feature-chart__product .badge:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: 0;
}

.feature-chart__product-placeholder {
  height: auto;
}

.feature-chart__table-row--sticky {
  visibility: hidden;
  opacity: 0;
  z-index: 1;
  background: rgb(var(--background));
  padding-block: var(--spacing-5);
  border-bottom-width: 1px;
  transition: opacity .2s, visibility .2s, top .2s;
  position: fixed;
  top: calc(var(--header-is-visible, 1) * var(--sticky-area-height));
  border-top-width: 0 !important;
}

.feature-chart__table-row--sticky.is-visible {
  opacity: 1;
  visibility: visible;
}

.feature-chart__table-row--sticky .feature-chart__product img {
  max-width: 48px;
}

.feature-chart__table-row--sticky .feature-chart__view-button-container {
  display: none;
}

@media screen and (max-width: 699px) {
  .feature-chart, .feature-chart__table {
    margin-inline-start: calc(-1 * var(--container-gutter));
    margin-inline-end: calc(-1 * var(--container-gutter));
    padding-inline-start: var(--container-gutter);
    padding-inline-end: var(--container-gutter);
    display: grid;
  }

  .feature-chart__table-row {
    grid-template-columns: repeat(var(--feature-chart-values-columns-count), minmax(140px, 1fr));
  }

  .feature-chart__table--multi-columns .feature-chart__table-row {
    grid-template-columns: repeat(var(--feature-chart-values-columns-count), 150px);
  }

  .feature-chart__heading {
    position: sticky;
  }

  .feature-chart__heading:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    left: 0;
  }

  .feature-chart__heading:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: 0;
  }

  .feature-chart__value {
    grid-row: 2;
  }
}

@media screen and (min-width: 700px) {
  .feature-chart {
    border-radius: var(--rounded);
  }

  .feature-chart__table-row--product > :first-child {
    grid-column-start: 2;
  }
}

@media screen and (min-width: 1000px) {
  .feature-chart {
    padding: var(--spacing-4) var(--spacing-12);
  }

  .feature-chart__table-row {
    --feature-chart-heading-width: 180px;
    column-gap: var(--spacing-6);
    padding-block-start: var(--spacing-6);
    padding-block-end: var(--spacing-6);
  }

  .feature-chart__table-row--product {
    padding-block-end: var(--spacing-10);
  }

  .feature-chart__table-row--sticky {
    padding-block: var(--spacing-6);
  }

  .feature-chart__toggle {
    padding-block-start: var(--spacing-5);
    padding-block-end: var(--spacing-6);
  }

  .feature-chart__product {
    --feature-chart-product-image-width: 150px;
    max-width: 260px;
  }

  .feature-chart__table-row--sticky .feature-chart__product {
    grid-auto-flow: column;
    justify-content: start;
  }

  .feature-chart__table-row--sticky .feature-chart__product img {
    max-width: 80px;
  }
}

.footer {
  --background: var(--footer-background);
  --text-color: var(--footer-text);
  --footer-padding-block: var(--spacing-12);
  --footer-part-gap: var(--spacing-10);
  --footer-block-list-gap: var(--spacing-10);
  --footer-block-gap: var(--spacing-4);
  --footer-aside-gap: var(--spacing-10);
  background: rgb(var(--background));
  color: rgb(var(--text-color));
  padding-block-start: var(--footer-padding-block);
  padding-block-end: var(--footer-padding-block);
}

.footer__wrapper {
  gap: var(--footer-part-gap);
  display: grid;
}

.footer__block-list {
  gap: var(--footer-block-list-gap);
  align-items: start;
  justify-content: var(--footer-block-list-justify-content, start);
  grid: auto-flow dense / repeat(2, minmax(0, 1fr));
  display: grid;
}

.footer__block {
  gap: var(--footer-block-gap);
  display: grid;
}

.footer__block--text, .footer__block--newsletter, .footer__block--app {
  grid-column: span 2;
}

.footer__block--newsletter {
  gap: var(--spacing-8);
  display: grid;
}

.footer__block--menu {
  max-width: 250px;
}

.footer__aside {
  gap: var(--footer-aside-gap);
  display: grid;
}

.footer__aside-top, .footer__aside-bottom {
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-8);
  display: grid;
}

.footer__policy-links {
  flex-wrap: wrap;
  align-items: center;
  display: flex;
}

.footer__policy-links li + li:before {
  content: "•";
  margin-inline-start: .5rem;
  margin-inline-end: .5rem;
  font-size: .75rem;
}

@media screen and (min-width: 700px) {
  .footer {
    --footer-padding-block: var(--spacing-16);
    --footer-part-gap: var(--spacing-16);
    --footer-block-list-gap: var(--spacing-10) var(--spacing-24);
    --footer-block-gap: var(--spacing-6);
    --footer-aside-gap: var(--spacing-12);
  }

  .footer__block-list {
    flex-wrap: wrap;
    display: flex;
  }

  .footer__block--text {
    flex-basis: 25%;
  }

  .footer__block--newsletter, .footer__block--app {
    flex-basis: 100%;
  }

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

  .footer__aside-top, .footer__aside-bottom {
    display: flex;
  }

  .footer__copyright {
    order: -1;
  }
}

@media screen and (min-width: 1000px) {
  .footer {
    --footer-block-list-gap: var(--spacing-10) var(--spacing-12);
  }

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

  .footer__block--newsletter, .footer__block--app {
    flex-basis: 33.3333%;
  }

  :is(.footer__block--newsletter, .footer__block--app):only-child {
    flex-basis: 50%;
  }

  .footer__newsletter-form {
    max-width: 400px;
  }
}

@media screen and (min-width: 1150px) {
  .footer {
    --footer-block-list-gap: var(--spacing-10) var(--spacing-24);
  }

  .footer__block--menu:last-child {
    margin-inline-end: var(--spacing-10);
  }
}

.shopify-section--privacy-banner {
  z-index: 2;
  position: relative;
}

.privacy-bar {
  margin: var(--spacing-2);
  z-index: 1;
  transition: opacity .2s ease-in-out, visibility .2s ease-in-out;
  position: fixed;
  bottom: 0;
  display: block !important;
}

.privacy-bar:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: 0;
}

.privacy-bar:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: 0;
}

.privacy-bar[hidden] {
  visibility: hidden;
  opacity: 0;
}

.privacy-bar__inner {
  width: 100%;
  padding: var(--spacing-6);
  background: rgb(var(--background-primary));
  color: rgb(var(--text-primary));
  border-radius: var(--rounded-sm);
  border-width: 1px;
}

.privacy-bar__close {
  position: absolute;
  top: var(--spacing-6);
}

.privacy-bar__close:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: var(--spacing-6);
}

.privacy-bar__close:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: var(--spacing-6);
}

@media screen and (min-width: 700px) {
  .privacy-bar {
    margin: var(--spacing-4);
  }

  .privacy-bar__inner {
    max-width: 445px;
  }
}

.gift-card {
  gap: var(--spacing-8);
  padding-block-start: var(--spacing-4);
  padding-block-end: var(--spacing-14);
  display: grid;
}

.gift-card__image-wrapper {
  justify-items: center;
  gap: var(--spacing-6);
  display: grid;
}

.gift-card__image {
  max-width: 160px;
}

.gift-card__info {
  gap: var(--spacing-5);
  display: grid;
}

.gift-card__issued-info {
  place-content: center;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-6);
  text-align: center;
  display: grid;
}

.gift-card__balance {
  line-height: 1;
  font-size: var(--gift-card-balance-font-size);
}

.gift-card__redeem-info:last-child {
  border-width: 1px;
}

.gift-card__redeem-box {
  padding: var(--spacing-6);
  align-items: center;
  gap: var(--spacing-4);
  display: grid;
}

.gift-card__redeem-box:last-child:not(:only-child) {
  border-top-width: 1px;
}

.gift-card__redeem-code {
  padding: var(--spacing-3-5);
  text-align: center;
  border-radius: var(--rounded-xs);
  border-width: 1px;
  font-weight: bold;
}

.gift-card__qr-code {
  aspect-ratio: 1;
  width: 120px;
  display: block;
}

.gift-card__qr-code > canvas {
  display: none;
}

.gift-card__scan {
  justify-content: center;
  align-items: center;
  gap: var(--spacing-8);
  display: flex;
}

@media screen and (min-width: 700px) {
  .gift-card {
    gap: var(--spacing-12);
    padding-block-start: var(--spacing-12);
    padding-block-end: var(--spacing-32);
  }

  .gift-card__image-wrapper {
    gap: var(--spacing-12);
  }

  .gift-card__image {
    max-width: 270px;
  }

  .gift-card__info {
    gap: var(--spacing-12);
  }

  .gift-card__issued-info {
    padding: var(--spacing-12);
  }

  .gift-card__redeem-info {
    display: flex;
  }

  .gift-card__redeem-box {
    padding: var(--spacing-12);
    gap: var(--spacing-6);
    max-width: 380px;
  }

  .gift-card__scan {
    justify-items: center;
    display: grid;
  }
}

@media screen and (min-width: 1000px) {
  .gift-card__info {
    justify-content: center;
    display: flex;
  }

  .gift-card__redeem-box:last-child:not(:only-child) {
    border-top-width: 0;
    border-inline-start-width: 1px;
  }
}

@media screen and (min-width: 1150px) {
  .gift-card__issued-info {
    flex-basis: var(--spacing-80);
  }
}

.header {
  --background: var(--header-background);
  --text-color: var(--header-text);
  --header-part-gap: var(--spacing-3);
  --header-icon-list-spacing: var(--spacing-4);
  --header-link-list-spacing: var(--spacing-6);
  --header-logo-opacity: 1;
  will-change: transform;
  margin-inline-start: auto;
  margin-inline-end: auto;
  transition: background .25s;
  display: block;
}

.header__wrapper {
  grid-template: var(--header-grid-template);
  align-items: center;
  gap: var(--header-part-gap);
  padding: var(--header-padding-block) max(var(--container-gutter), 50% - var(--container-max-width) / 2);
  color: rgb(var(--text-color));
  background: rgb(var(--background) / var(--header-background-opacity));
  -webkit-backdrop-filter: blur(var(--header-background-blur-radius));
  backdrop-filter: blur(var(--header-background-blur-radius));
  border-radius: inherit;
  reading-flow: grid-rows;
  transition: inherit;
  display: grid;
}

.header__logo {
  grid-area: logo;
  max-width: max-content;
  display: block;
  position: relative;
}

.header__logo-image {
  width: var(--header-logo-width);
  height: auto;
  opacity: var(--header-logo-opacity, 1);
}

.header__logo-image--transparent {
  opacity: calc(1 - var(--header-logo-opacity));
  position: absolute;
  top: 0;
}

.header__logo-image--transparent:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: 0;
}

.header__logo-image--transparent:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: 0;
}

.header__logo-image:not(.header__logo-image--transparent):last-child {
  --header-logo-opacity: 1;
}

.header__logo-text {
  max-width: min(50vw, 350px);
  display: block;
}

.header__main-nav {
  grid-area: main-nav;
}

.header__secondary-nav {
  justify-content: flex-end;
  justify-self: end;
  align-items: center;
  gap: var(--spacing-3) var(--header-part-gap);
  flex-wrap: wrap;
  grid-area: secondary-nav;
  display: flex;
}

.header__link-list {
  display: none;
}

.header__link-list .icon-chevron-bottom {
  position: relative;
  top: 1px;
}

.header__icon-list {
  align-items: center;
  gap: var(--header-icon-list-spacing);
  display: flex;
}

.header__cart-count {
  top: -.3125rem;
  position: absolute;
}

.header__cart-count:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: .875rem;
}

.header__cart-count:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: .875rem;
}

@media screen and (min-width: 700px) {
  .header {
    --header-part-gap: var(--spacing-6);
    --header-icon-list-spacing: var(--spacing-6);
  }
}

@media screen and (min-width: 1150px) {
  .header__link-list {
    gap: var(--spacing-4) var(--header-link-list-spacing);
    display: flex;
  }
}

@media screen and (min-width: 1400px) {
  .header {
    --header-part-gap: var(--spacing-10);
    --header-link-list-spacing: var(--spacing-10);
  }
}

.header[allow-transparency] {
  transition: color .25s, background .25s, -webkit-backdrop-filter .25s, backdrop-filter .25s;
}

.header[allow-transparency]:not(.is-filled) {
  --header-background-opacity: 0;
  --header-logo-opacity: 0;
  --header-background-blur-radius: 0px;
  --text-color: var(--header-transparent-text-color);
}

.header[allow-transparency] .header__logo-image {
  transition: opacity .25s;
}

@supports selector(:has(> *)) {
  :has(.shopify-section:first-child [allow-transparent-header]) .header:not(.is-filled) {
    --header-background-opacity: 0;
    --header-logo-opacity: 0;
    --text-color: var(--header-transparent-text-color);
  }

  :has(.shopify-section:first-child [allow-transparent-header]) .shopify-section--header:not(:has(.header.is-filled)) {
    position: relative !important;
    top: 0 !important;
  }

  .header:has([open]) {
    --header-background-opacity: 1;
  }
}

.dropdown-menu {
  gap: var(--spacing-3);
  width: max-content;
  max-width: 350px;
  padding: var(--spacing-5) var(--spacing-7);
  background: rgb(var(--header-background));
  color: rgb(var(--header-text));
  border-radius: var(--rounded-sm);
  opacity: 0;
  box-shadow: var(--shadow), 0 0 0 1px rgb(var(--text-color) / .12);
  z-index: 1;
  display: grid;
  position: absolute;
  top: calc(100% + var(--spacing-4-5));
}

.dropdown-menu:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: calc(-1 * var(--spacing-4));
}

.dropdown-menu:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: calc(-1 * var(--spacing-4));
}

.dropdown-menu:before {
  content: "";
  width: 100%;
  height: var(--spacing-4-5);
  position: absolute;
  bottom: 100%;
}

.dropdown-menu--restrictable {
  max-height: 80vh;
  overflow-y: auto;
}

.dropdown-menu .dropdown-menu {
  top: calc(-1 * var(--spacing-5));
}

.dropdown-menu .dropdown-menu:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: calc(100% + var(--spacing-7));
}

.dropdown-menu .dropdown-menu:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: calc(100% + var(--spacing-7));
}

.dropdown-menu__item {
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-6);
  opacity: .7;
  transition: opacity .2s ease-in-out;
  display: flex;
}

[open] > .dropdown-menu__item, .dropdown-menu__item:hover {
  opacity: 1;
}

.mega-menu__promo-carousel {
  max-width: 300px;
  position: relative;
}

.mega-menu__carousel {
  grid: auto / auto-flow 45vw;
  display: grid;
}

@media screen and (min-width: 700px) {
  .mega-menu__carousel {
    --content-over-media-column-gap: var(--spacing-8);
    --content-over-media-row-gap: var(--spacing-6);
    --content-over-media-content-max-width: 70%;
    grid: none;
  }

  .mega-menu__carousel > * {
    grid-area: 1 / -1;
  }

  .mega-menu__carousel-controls button {
    transition: transform .2s;
  }

  .mega-menu__carousel-controls button:hover {
    transform: scale(1.1);
  }
}

@media screen and (min-width: 1400px) {
  .mega-menu__promo-carousel {
    max-width: 360px;
  }
}

.mega-menu {
  --mega-menu-block-padding: var(--spacing-10);
  --mega-menu-gap: var(--spacing-12);
  --mega-menu-nav-column-gap: var(--spacing-8);
  gap: var(--mega-menu-gap);
  justify-content: var(--mega-menu-justify-content);
  width: 100%;
  padding: var(--mega-menu-block-padding) max(var(--container-gutter), 50% - var(--container-max-width) / 2);
  max-height: calc(100vh - var(--sticky-announcement-bar-enabled, 0) * var(--announcement-bar-height, 0px)  - var(--header-height, 0px)  - 20px);
  overscroll-behavior-y: contain;
  opacity: 0;
  background: rgb(var(--header-background));
  color: rgb(var(--header-text));
  mix-blend-mode: plus-lighter;
  border-block-start-width: 1px;
  align-items: flex-start;
  display: flex;
  position: absolute;
  top: 100%;
  overflow: hidden auto;
  box-shadow: 0 9999px 0 9999px #0006;
}

.mega-menu:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: 0;
}

.mega-menu:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: 0;
}

.mega-menu__nav {
  max-width: var(--column-list-max-width, max-content);
  gap: var(--mega-menu-nav-gap);
  flex-wrap: wrap;
  flex: auto;
  align-items: start;
  display: flex;
}

.mega-menu__nav > li {
  width: var(--mega-menu-nav-column-max-width);
}

@media screen and (min-width: 1400px) {
  .mega-menu {
    --mega-menu-gap: var(--spacing-16);
    --mega-menu-nav-column-gap: var(--spacing-12);
  }
}

@media screen and (min-width: 1600px) {
  .mega-menu {
    --mega-menu-gap: var(--spacing-20);
    --mega-menu-nav-column-gap: var(--spacing-16);
  }
}

.navigation-drawer {
  --panel-link-image-size: var(--spacing-12);
  --drawer-body-padding: var(--spacing-6);
  --navigation-drawer-width: 100vw;
  width: var(--navigation-drawer-width);
}

.navigation-drawer::part(body) {
  gap: var(--spacing-6);
  grid-template-rows: minmax(0, 1fr);
  padding: 0;
  display: grid;
  overflow-y: hidden;
}

.navigation-drawer::part(content) {
  grid-template-rows: minmax(0, 1fr);
  min-height: 70vh;
  display: grid;
}

.navigation-drawer .panel__scroller {
  align-content: flex-start;
  height: 100%;
  overflow-y: auto;
}

.navigation-drawer > [is="close-button"] {
  margin-inline-start: var(--drawer-body-padding);
}

.navigation-drawer[mobile-opening="bottom"] .panel__scroller {
  margin-block-start: calc(var(--drawer-body-padding) * -1);
  padding-block-start: var(--drawer-body-padding);
}

.navigation-drawer[mobile-opening="left"] {
  height: 100%;
}

.navigation-drawer[mobile-opening="left"]::part(body) {
  grid-template-rows: auto minmax(0, 1fr);
  padding-block-start: var(--drawer-body-padding);
}

.navigation-drawer[mobile-opening="left"] > [is="close-button"] {
  display: grid;
}

.navigation-drawer[mobile-opening="left"] .panel__wrapper {
  padding-block-start: 0;
}

.navigation-drawer [is="close-button"] {
  width: var(--spacing-10);
  height: var(--spacing-10);
  border-radius: var(--rounded-full);
  border-width: 1px;
  place-items: center;
  position: static;
}

.panel-list__wrapper {
  height: 100%;
  position: relative;
  overflow: hidden;
}

.panel {
  gap: var(--spacing-8);
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.panel + .panel {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 0;
}

.panel__wrapper {
  justify-content: var(--panel-wrapper-justify-content, space-between);
  gap: var(--spacing-6);
  padding: var(--drawer-body-padding);
  flex-direction: column;
  height: 100%;
  display: flex;
  overflow-y: auto;
}

.panel-footer {
  background-color: rgb(var(--background));
}

.panel-footer__localization-wrapper {
  padding-block-start: var(--spacing-4);
}

.panel-footer__account-link:not(:only-child) {
  margin-inline-start: auto;
}

.panel-link__image {
  min-width: var(--panel-link-image-size);
  width: var(--panel-link-image-size);
  height: var(--panel-link-image-size);
  object-fit: contain;
}

@media screen and (min-width: 700px) {
  .navigation-drawer {
    --panel-link-image-size: 3.25rem;
    --drawer-body-padding: var(--spacing-8);
    --navigation-drawer-width: 412px;
  }

  .navigation-drawer::part(body) {
    gap: var(--spacing-8);
    grid-template-rows: auto minmax(0, 1fr);
    padding-block-start: var(--drawer-body-padding);
  }

  .navigation-drawer [is="close-button"] {
    width: var(--spacing-12);
    min-height: var(--spacing-12);
    height: var(--spacing-12);
  }

  .navigation-drawer[mobile-opening="bottom"] .panel__scroller {
    margin-block-start: 0;
    padding-block-start: 0;
  }

  .panel__wrapper {
    padding-block-start: 0;
  }
}

@media screen and (min-width: 1150px) {
  .navigation-drawer[mega-menu] {
    --panel-link-image-size: 3.75rem;
    --drawer-body-padding: var(--spacing-10);
    --navigation-drawer-width: 472px;
  }

  .navigation-drawer[mega-menu]::part(body) {
    grid-template-rows: auto;
    padding: 0;
  }

  .navigation-drawer[mega-menu]::part(content):before {
    content: "";
    background-color: rgb(var(--text-color) / .12);
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 440px;
  }

  .navigation-drawer[mega-menu] [is="close-button"] {
    display: grid;
  }

  .navigation-drawer[mega-menu] > .panel-list__wrapper {
    grid-template-columns: repeat(2, minmax(440px, 1fr));
    display: grid;
  }

  .navigation-drawer[mega-menu] > .panel-list__wrapper > .panel {
    position: static;
  }

  .navigation-drawer[mega-menu] .panel + .panel > .panel__wrapper {
    padding-block-start: 6.5rem;
  }

  .navigation-drawer[mega-menu] .panel__wrapper {
    padding: var(--drawer-body-padding);
  }

  .navigation-drawer[mega-menu] .panel__scroller {
    overflow-y: initial;
  }

  .navigation-drawer [is="close-button"] {
    transition: transform .2s ease-in-out;
  }

  .navigation-drawer [is="close-button"]:hover {
    transform: rotate(90deg);
  }

  [dir="rtl"] .navigation-drawer[mega-menu]::part(content):before {
    left: auto;
    right: 440px;
  }
}

.mega-menu .navigation-promo__wrapper {
  flex: 1;
  max-width: max-content;
}

.navigation-promo {
  grid: var(--navigation-promo-grid);
  align-content: start;
  align-items: start;
  gap: var(--navigation-promo-gap);
  display: grid;
}

.navigation-promo.navigation-promo--carousel .content-over-media p {
  max-width: 75%;
}

.navigation-promo .product-card {
  padding: var(--spacing-8);
  flex-direction: column;
  justify-content: center;
  height: 100%;
  display: flex;
}

.navigation-promo .product-card__figure {
  max-width: 160px;
  margin-block-end: var(--spacing-4);
  margin-inline-start: auto;
  margin-inline-end: auto;
}

.navigation-promo .product-card__quick-buy {
  display: none;
}

.navigation-promo .product-card__info {
  padding: 0;
}

.navigation-promo .product-card__image {
  border-radius: 0;
}

.navigation-promo__carousel-controls {
  gap: var(--spacing-2);
  color: rgb(var(--text-color));
  z-index: 1;
  transition: color .2s ease-in-out;
  display: flex;
  position: absolute;
}

.navigation-promo__carousel-controls:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: var(--content-over-media-column-gap);
}

.navigation-promo__carousel-controls:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: var(--content-over-media-column-gap);
}

@media screen and (min-width: 1150px) {
  .navigation-promo__carousel-controls > button svg {
    transition: scale .2s ease-in-out;
  }

  .navigation-promo__carousel-controls > button:hover svg {
    scale: 1.1;
  }
}

.shopify-section--hot-spots {
  z-index: 1;
}

.hot-spot {
  --hot-spot-dot-size: var(--spacing-8);
  --hot-spot-dot-shadow-size: var(--spacing-2-5);
  top: var(--hot-spot-vertical-position);
  left: var(--hot-spot-horizontal-position);
  grid-area: unset !important;
  z-index: unset !important;
  position: absolute !important;
}

.hot-spot__dot {
  width: var(--hot-spot-dot-size);
  height: var(--hot-spot-dot-size);
  border-radius: var(--rounded-full);
  background: rgb(var(--hot-spot-background));
  color: rgb(var(--hot-spot-text-color));
  place-items: center;
  transition: transform .2s ease-in-out;
  display: grid;
  position: relative;
}

.hot-spot__dot:after {
  content: "";
  box-sizing: content-box;
  top: calc(-1 * var(--hot-spot-dot-shadow-size));
  left: calc(-1 * var(--hot-spot-dot-shadow-size));
  width: 100%;
  height: 100%;
  padding: var(--hot-spot-dot-shadow-size);
  background: radial-gradient(50% 50% at 50% 50%, rgb(var(--hot-spot-background) / 0) 0%, rgb(var(--hot-spot-background) / .3) 100%);
  border-radius: inherit;
  animation: 2s ease-in-out infinite alternate ping;
  position: absolute;
}

.hot-spot__dot[aria-expanded="true"] {
  transform: rotate(45deg);
}

.hot-spot-popover {
  --popover-body-padding: var(--spacing-6);
}

.hot-spot-popover::part(title) {
  display: none;
}

.hot-spot-popover::part(body) {
  text-align: start;
}

@media screen and (min-width: 700px) {
  .hot-spot {
    --hot-spot-dot-size: var(--spacing-12);
    --hot-spot-dot-shadow-size: var(--spacing-4);
  }

  .hot-spot__dot svg {
    width: 12px;
    height: 12px;
  }

  .hot-spot-popover {
    --popover-body-padding: var(--spacing-8);
  }
}

@media screen and (min-width: 1000px) {
  .hot-spot-popover {
    --popover-anchor-inline-spacing: calc(100% + var(--spacing-4-5));
  }

  .hot-spot-popover::part(content) {
    background: rgb(var(--hot-spot-content-background) / var(--hot-spot-content-opacity));
    color: rgb(var(--hot-spot-content-text-color));
    -webkit-backdrop-filter: blur(var(--hot-spot-content-blur-radius));
    backdrop-filter: blur(var(--hot-spot-content-blur-radius));
  }
}

.image-link-blocks {
  grid: var(--image-link-blocks-grid);
  gap: var(--spacing-2);
  align-items: start;
  display: grid;
}

.image-link-blocks__item .content-over-media .circle-chevron {
  background: rgb(var(--text-color));
  color: rgb(var(--background));
  opacity: 0;
  transition: opacity .2s ease-in-out;
}

.image-link-blocks__item .icon-circle-button-right-clipped {
  opacity: 0;
  transition: opacity .2s ease-in-out;
}

.image-link-blocks__inner {
  gap: var(--spacing-3);
  padding: var(--spacing-5);
  grid-template-columns: minmax(0, 1fr);
  display: grid;
}

.image-link-blocks__inner .circle-chevron {
  opacity: 0;
  transition: opacity .2s ease-in-out;
}

.image-link-blocks__title {
  gap: var(--spacing-2-5);
  justify-content: center;
  align-items: center;
  margin-block-end: calc(-1 * var(--spacing-1));
  display: flex;
}

.image-link-blocks__title--animate {
  transform: translateX(calc(var(--transform-logical-flip) * 16px));
  transition: transform .2s;
}

@media screen and (min-width: 700px) {
  .image-link-blocks {
    gap: var(--grid-gutter);
  }

  .image-link-blocks__inner {
    gap: var(--spacing-5);
    padding: var(--spacing-10);
  }

  .image-link-blocks__title {
    margin-block-end: calc(-1 * var(--spacing-4));
  }
}

@media screen and (min-width: 1000px) {
  .image-link-blocks__item {
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
}

@media screen and (pointer: fine) {
  .image-link-blocks__item:hover .content-over-media .circle-chevron {
    background: rgb(var(--text-color));
    color: rgb(var(--background));
    opacity: 1;
  }

  .image-link-blocks__item:hover .image-link-blocks__inner .circle-chevron, .image-link-blocks__item:hover .icon-circle-button-right-clipped {
    opacity: 1;
  }

  .image-link-blocks__item:hover .image-link-blocks__title--animate {
    transform: translateX(0);
  }
}

.shopify-section--collection-banner + .shopify-section--image-link-blocks {
  --section-outer-spacing-block: var(--grid-gutter);
}

.images-scrolling__content {
  gap: var(--spacing-4);
  display: grid;
}

.images-scrolling__counter {
  align-items: center;
  gap: var(--spacing-4);
  display: flex;
}

.images-scrolling__counter:before {
  content: "";
  background: currentColor;
  width: 1.5rem;
  height: .125rem;
}

.images-scrolling__icon {
  max-width: calc(var(--images-scrolling-item-icon-width) / 1.5);
}

@media screen and (min-width: 700px) {
  .images-scrolling__content {
    gap: var(--spacing-8);
    padding-block: var(--spacing-8);
    order: -1;
    align-content: start;
  }

  .images-scrolling__counter {
    gap: var(--spacing-6);
  }

  .images-scrolling__counter:before {
    width: 2.5rem;
  }

  .images-scrolling__icon {
    max-width: calc(var(--images-scrolling-item-icon-width));
  }
}

.images-scrolling-mobile {
  grid: var(--images-scrolling-grid);
  gap: var(--spacing-12) var(--container-gutter);
  display: grid;
}

.images-scrolling-mobile__item {
  align-content: start;
  gap: var(--spacing-4);
  display: grid;
}

@media screen and (min-width: 700px) {
  .images-scrolling-mobile {
    display: none;
  }
}

.images-scrolling-desktop {
  grid-template-columns: var(--images-scrolling-grid-template-columns);
  grid-template-rows: repeat(var(--images-scrolling-block-count), minmax(0, 1fr));
  column-gap: var(--spacing-8);
  display: grid;
}

.images-scrolling-desktop__media-wrapper {
  top: calc(var(--sticky-area-height)  + 20px);
  grid-column: media;
  position: sticky;
}

.images-scrolling-desktop__media-wrapper > * {
  object-fit: cover;
  object-position: center;
  will-change: transform;
}

.images-scrolling-desktop__media-wrapper > :first-child {
  max-height: calc(100vh - var(--sticky-area-height)  - 40px);
}

@supports (max-height: 100svh) {
  .images-scrolling-desktop__media-wrapper > :first-child {
    max-height: calc(100svh - var(--sticky-area-height)  - 40px);
  }
}

.images-scrolling-desktop__media-wrapper > :not(:first-child) {
  opacity: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.images-scrolling-desktop__content-list {
  grid-area: 1 / content / -1;
  grid-auto-columns: minmax(0, 1fr);
  align-items: center;
  display: grid;
}

@media screen and (min-width: 1000px) {
  .images-scrolling-desktop {
    column-gap: var(--spacing-16);
  }
}

@media screen and (min-width: 1150px) {
  .images-scrolling-desktop {
    column-gap: var(--spacing-28);
  }
}

@media screen and (max-width: 699px) {
  .images-scrolling-desktop {
    display: none;
  }
}

.impact-text {
  --impact-text-spacing: var(--spacing-10);
  gap: var(--impact-text-spacing);
  align-items: start;
  display: grid;
}

.impact-text--scroll {
  grid: auto / auto-flow var(--impact-text-auto-columns);
}

.impact-text--center {
  text-align: center;
  justify-content: safe center;
}

.impact-text--end {
  text-align: end;
  justify-content: end;
}

.impact-text__text {
  font-size: var(--impact-text-font-size);
  letter-spacing: 0;
  line-height: 1;
}

.impact-text__text:not(:only-child) {
  margin-bottom: .2em;
}

.impact-text__content {
  max-width: 750px;
}

.impact-text--center .impact-text__content {
  margin-inline-start: auto;
  margin-inline-end: auto;
}

.impact-text--end .impact-text__content {
  margin-inline-start: auto;
}

@media screen and (min-width: 700px) {
  .impact-text {
    --impact-text-spacing: var(--spacing-8);
    grid: auto / auto-flow var(--impact-text-auto-columns);
  }

  .impact-text--center {
    justify-content: space-evenly;
  }
}

@media screen and (min-width: 1150px) {
  .impact-text {
    --impact-text-spacing: var(--spacing-12);
  }
}

.logo-list {
  grid: var(--logo-list-grid);
  gap: var(--spacing-2);
  display: grid;
}

.logo-list__item {
  padding: var(--spacing-6);
  border: 1px solid rgb(var(--logo-list-items-border));
  justify-content: center;
  align-items: center;
  display: flex;
}

.logo-list__image {
  width: 100%;
  max-width: var(--logo-list-image-max-width, none);
}

@media screen and (min-width: 700px) {
  .logo-list {
    gap: var(--spacing-6);
  }

  .logo-list__item {
    padding: var(--spacing-11);
  }
}

.media-grid {
  align-items: start;
  gap: calc(var(--grid-gutter) / 2);
  grid: auto-flow dense var(--media-grid-row-height) / repeat(2, minmax(0, 1fr));
  display: grid;
}

.media-grid__item {
  grid-area: span min(2, var(--media-grid-row-span)) / span min(2, var(--media-grid-column-span));
  height: 100%;
}

.media-grid__item > * {
  height: 100%;
}

@media screen and (min-width: 700px) {
  .media-grid {
    --calculated-row-height: max(150px, min(100vw / 5, var(--media-grid-row-height)));
    grid: auto-flow dense var(--calculated-row-height) / repeat(4, minmax(0, 1fr));
  }

  .media-grid__item {
    grid-area: span var(--media-grid-row-span) / span var(--media-grid-column-span);
  }
}

@media screen and (min-width: 1000px) {
  .media-grid {
    gap: var(--grid-gutter);
  }
}

.media-with-text {
  --media-with-text-content-padding: var(--spacing-10) var(--spacing-8);
  gap: var(--media-with-text-gap);
  display: grid;
  overflow: hidden;
}

.media-with-text__item {
  gap: min(var(--media-with-text-gap), var(--grid-gutter));
  grid-template: var(--media-with-text-item-grid-template);
  display: grid;
}

.media-with-text__media {
  grid-area: media;
  position: relative;
  overflow: hidden;
}

.media-with-text__media > * {
  object-fit: cover;
  object-position: center;
  border-radius: inherit;
  width: 100%;
  height: 100%;
}

.media-with-text__content {
  padding: var(--media-with-text-content-padding);
  grid-area: content;
  display: grid;
}

.media-with-text__icon {
  max-width: calc(var(--media-with-text-item-icon-width) / 1.5);
  margin-block-end: var(--spacing-1);
  display: inline-block;
}

@media screen and (min-width: 700px) {
  .media-with-text {
    --media-with-text-content-padding: var(--spacing-16);
  }

  .media-with-text__icon {
    max-width: var(--media-with-text-item-icon-width);
    margin-block-end: var(--spacing-2);
  }
}

@media screen and (min-width: 1000px) {
  .media-with-text {
    --media-with-text-content-padding: var(--spacing-12);
  }

  .media-with-text__item {
    gap: var(--media-with-text-gap);
  }
}

@media screen and (min-width: 1150px) {
  .media-with-text {
    --media-with-text-content-padding: var(--spacing-18);
  }
}

@media screen and (min-width: 1400px) {
  .media-with-text {
    --media-with-text-content-padding: var(--spacing-20);
  }
}

.multi-column {
  --multi-column-list-column-max-gap: var(--grid-gutter);
  --multi-column-list-row-min-gap: var(--grid-gutter);
  --multi-column-item-gap: var(--spacing-6);
  grid: var(--multi-column-grid);
  gap: max(var(--multi-column-list-gap), var(--multi-column-list-row-min-gap)) min(var(--multi-column-list-column-max-gap), var(--multi-column-list-gap));
  display: grid;
}

.multi-column__item {
  align-content: start;
  gap: var(--multi-column-item-gap);
  grid-template-columns: minmax(0, 1fr);
  display: grid;
}

@media screen and (min-width: 700px) {
  .multi-column {
    --multi-column-list-column-max-gap: var(--spacing-16);
    grid: auto / auto-flow 38vw;
  }
}

@media screen and (min-width: 1000px) {
  .multi-column {
    --multi-column-list-row-min-gap: var(--spacing-16);
    grid: auto / repeat(12, minmax(0, 1fr));
  }

  .multi-column__item {
    grid-column: var(--multi-column-item-column-count);
  }
}

@media screen and (min-width: 1400px) {
  .multi-column {
    --multi-column-list-column-max-gap: var(--multi-column-list-gap);
  }
}

.multiple-images-with-text {
  grid-template-columns: var(--multiple-images-with-text-grid-template-columns, none);
  gap: var(--section-stack-spacing-block) var(--multiple-images-with-text-column-gap, 0px);
  max-width: var(--multiple-images-with-text-max-width);
  isolation: isolate;
  justify-content: center;
  place-items: center;
  margin-inline-start: auto;
  margin-inline-end: auto;
  display: grid;
}

.multiple-images-with-text__content-with-nav {
  row-gap: var(--spacing-8);
  text-align: var(--multiple-images-with-text-alignment, center);
  justify-items: var(--multiple-images-with-text-alignment, center);
  justify-self: start;
  width: 100%;
  max-width: 600px;
  display: grid;
}

.multiple-images-with-text__image-list[layout="stacked"], .multiple-images-with-text__content-list {
  place-items: center;
  width: 100%;
  display: grid;
}

:is(.multiple-images-with-text__image-list[layout="stacked"], .multiple-images-with-text__content-list) > * {
  grid-area: 1 / -1;
  width: 100%;
}

.multiple-images-with-text__image-list {
  grid-template: var(--multiple-images-with-text-images-grid-template, none);
  align-items: var(--multiple-images-with-text-images-alignment, center);
  width: 100%;
  display: grid;
}

.multiple-images-with-text__image-list > img {
  width: 100%;
  max-width: var(--multiple-images-with-text-image-max-width, 390px);
  will-change: transform;
  outline: 1px solid #0000;
  margin-inline-start: auto;
  margin-inline-end: auto;
}

.multiple-images-with-text__image-list:not([layout="stacked"]) > img:first-child {
  grid-area: 1 / 2 / -1;
  margin-block-start: var(--multiple-images-with-text-main-image-offset, 0px);
}

.multiple-images-with-text__content-list {
  place-items: end start;
}

.multiple-images-with-text__image-list[layout="stacked"] {
  --multiple-images-with-text-image-max-width: 520px;
}

.multiple-images-with-text__image-list[layout="collage"] {
  gap: var(--grid-gutter);
}

@media screen and (max-width: 699px) {
  .multiple-images-with-text__content-with-nav .circle-button {
    width: 2.5rem;
    height: 2.5rem;
  }
}

@media screen and (min-width: 700px) {
  .multiple-images-with-text__content-with-nav {
    row-gap: var(--spacing-12);
  }
}

@media screen and (min-width: 1150px) {
  .multiple-images-with-text {
    --multiple-images-with-text-image-max-width: 500px;
  }
}

.newsletter-content {
  gap: var(--spacing-6);
  max-width: 780px;
  margin-inline-start: auto;
  margin-inline-end: auto;
  display: grid;
}

.newsletter-box {
  padding: var(--spacing-6);
}

.newsletter-content > .form {
  width: 100%;
}

@media screen and (min-width: 700px) {
  .newsletter {
    border-radius: inherit;
    overflow: hidden;
  }

  .newsletter-content {
    gap: var(--spacing-8);
  }

  .newsletter-content__icon {
    width: 48px;
    height: 48px;
  }

  .newsletter-box {
    padding: var(--spacing-12);
  }
}

@media screen and (min-width: 1000px) {
  .newsletter {
    grid-template-columns: .5fr .5fr;
    display: grid;
  }

  .newsletter-content > .form {
    max-width: 490px;
  }

  .newsletter > .newsletter-box {
    justify-content: start;
    align-items: center;
    display: grid;
  }

  .section-full .newsletter-box {
    background: none;
  }
}

@media screen and (min-width: 1150px) {
  .newsletter-box {
    padding: var(--spacing-16);
  }
}

@media screen and (min-width: 1400px) {
  .newsletter-box {
    padding: var(--spacing-20);
  }
}

.newsletter-drawer {
  --drawer-content-max-height: 80vh;
  --drawer-body-padding: 0;
  height: auto;
}

.newsletter-drawer__content {
  padding: var(--spacing-6) var(--spacing-8) var(--spacing-8);
}

@media screen and (min-width: 700px) {
  .newsletter-drawer {
    --drawer-content-max-height: calc(100vh - var(--spacing-8));
    width: calc(445px + var(--spacing-8));
  }

  .newsletter-drawer button[is="close-button"] {
    top: var(--spacing-8);
  }

  .newsletter-drawer button[is="close-button"]:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: var(--spacing-8);
  }

  .newsletter-drawer button[is="close-button"]:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    left: var(--spacing-8);
  }

  .newsletter-drawer__content {
    padding: var(--spacing-10) var(--spacing-12) var(--spacing-12);
  }
}

.not-found {
  --not-found-font-size: 210px;
  padding-block-start: var(--spacing-48);
  padding-block-end: var(--spacing-48);
  position: relative;
  overflow: hidden;
}

.not-found:before {
  content: "404";
  letter-spacing: 0;
  opacity: .1;
  pointer-events: none;
  font-weight: bold;
  font-size: var(--not-found-font-size);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media screen and (min-width: 700px) {
  .not-found {
    --not-found-font-size: 400px;
    padding-block-start: var(--spacing-80);
    padding-block-end: var(--spacing-80);
  }
}

.page {
  gap: var(--spacing-12);
  max-width: var(--page-max-width, 80ch);
  grid-auto-columns: minmax(0, 1fr);
  margin-inline-start: auto;
  margin-inline-end: auto;
  display: grid;
}

.password {
  min-height: 100vh;
  min-height: 100dvh;
  grid-template-rows: 1fr;
  align-items: center;
  padding-block-start: var(--spacing-10);
  padding-block-end: var(--spacing-10);
  display: grid;
  position: relative;
}

.password:after {
  content: "";
  width: calc(100vw - var(--scrollbar-width, 0px));
  pointer-events: none;
  background-image: linear-gradient(#0000 0%, #0003 100%);
  height: 60px;
  margin-inline-start: calc(50% - 50vw);
  position: absolute;
  bottom: 0;
}

.password:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)):after {
  left: 0;
}

.password:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)):after {
  right: 0;
}

.password__main {
  gap: var(--spacing-10);
  width: 100%;
  max-width: 500px;
  display: grid;
}

.password__social-box {
  gap: var(--spacing-4);
  padding: var(--spacing-5) var(--spacing-8);
  justify-content: center;
  display: grid;
}

.password__aside {
  align-self: end;
  justify-items: center;
  gap: var(--spacing-2);
  margin-top: var(--spacing-8);
  display: grid;
  position: relative;
}

.password__storefront-drawer {
  --drawer-body-padding: var(--spacing-8);
}

.password__storefront-form {
  gap: var(--spacing-6);
  display: grid;
}

@media screen and (min-width: 700px) {
  .password--center {
    justify-items: center;
  }

  .password--end {
    justify-items: end;
  }

  .password__main {
    gap: var(--spacing-12);
  }

  .password__social-box {
    gap: var(--spacing-6);
    padding: var(--spacing-8) var(--spacing-12);
    align-items: center;
    display: flex;
  }

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

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

  .password--end .password__aside {
    justify-self: start;
  }

  .password__storefront-drawer {
    --drawer-body-padding: var(--spacing-10);
  }
}

.press {
  --press-padding-inline: var(--spacing-5);
  gap: var(--spacing-6);
  max-width: var(--press-max-width);
  margin-inline-start: auto;
  margin-inline-end: auto;
  padding-inline-start: var(--press-padding-inline);
  padding-inline-end: var(--press-padding-inline);
  display: grid;
}

.press__list {
  align-items: flex-start;
  display: grid;
}

.press__list > * {
  grid-area: 1 / -1;
}

.press__list-item {
  gap: var(--spacing-8);
  justify-items: center;
  display: grid;
}

.press__list-item:not(.is-selected) {
  opacity: 0;
  visibility: hidden;
}

.press__list-item .rating {
  margin-block-end: calc(var(--press-padding-inline) * -1);
}

.press__list-item .blockquote:first-child {
  margin-block-start: 0;
}

.press__logo {
  border: 1px solid rgb(var(--press-items-border));
  justify-content: center;
  align-items: center;
  display: flex;
}

.press__logo.bg-custom {
  padding: var(--spacing-6);
}

.press__image {
  width: 100%;
  max-width: var(--press-image-max-width, none);
}

.press__controls {
  gap: var(--spacing-5);
  grid: auto / auto-flow;
  justify-content: center;
  align-items: center;
  display: grid;
}

@media screen and (min-width: 700px) {
  .press {
    --press-padding-inline: var(--spacing-8);
    gap: var(--spacing-10);
  }

  .press__list-item {
    gap: var(--spacing-10);
  }

  .press .rating__stars svg {
    width: 20px;
    height: 20px;
  }
}

.product {
  grid: var(--product-grid);
  gap: var(--container-gutter) var(--spacing-10);
  align-items: start;
  display: grid;
}

@media screen and (min-width: 1150px) {
  .product {
    column-gap: var(--spacing-12);
  }
}

@media screen and (min-width: 1600px) {
  .product {
    column-gap: var(--spacing-24);
  }
}

.product-info {
  --product-info-block-spacing: var(--spacing-6);
}

.product-info > * + * {
  margin-block-start: var(--product-info-block-spacing);
  margin-block-end: var(--product-info-block-spacing);
}

.product-info > * + *:last-child {
  margin-block-end: 0;
}

.product-info__accordion {
  --product-info-block-spacing: 0;
}

.product-info__block-item:where([data-block-type="vendor"], [data-block-type="title"], [data-block-type="sku"], [data-block-type="price"], [data-block-type="rating"], [data-block-type="payment-terms"]) {
  --product-info-block-spacing: var(--spacing-2);
}

.product-info__block-item:where([data-block-type="badges"]) {
  --product-info-block-spacing: var(--spacing-4);
}

.product-info__sku {
  display: block;
}

.product-info__badge-list {
  gap: var(--spacing-2);
  flex-wrap: wrap;
  display: flex;
}

.product-info__price .rating-with-text {
  justify-content: flex-start;
  display: flex;
}

.product-info__price .product-info__badge-list {
  align-self: center;
  margin-inline-start: var(--spacing-1);
}

.product-info__price .rating {
  margin-inline-start: auto;
}

.product-info__offer-list {
  gap: var(--spacing-2);
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  display: grid;
}

.product-form__share {
  grid-template-columns: minmax(0, 1fr);
  display: grid;
}

.product-info__share-buttons {
  display: none;
}

.native-share--disabled .product-info__share-buttons {
  display: block;
}

.product-info__native-share {
  display: none;
}

.native-share--enabled .product-info__native-share {
  align-items: center;
  gap: var(--spacing-2-5);
  opacity: .7;
  transition: opacity .2s ease-in-out;
  display: flex;
}

.native-share--enabled .product-info__native-share:hover {
  opacity: 1;
}

.product-info__block-item:empty {
  display: none;
}

.product-info__block-item:has(.accordion) + .product-info__block-item:has(.accordion) .accordion {
  border-block-start-width: 0;
}

@media screen and (min-width: 700px) {
  .product-info__block-item:where([data-block-type="vendor"], [data-block-type="title"], [data-block-type="sku"], [data-block-type="price"], [data-block-type="rating"], [data-block-type="payment-terms"]) {
    --product-info-block-spacing: var(--spacing-4);
  }

  .product-info__block-item:where([data-block-type="buy-buttons"]) {
    --product-info-block-spacing: var(--spacing-8);
  }

  .product-info__offer-list {
    gap: var(--spacing-4);
  }

  .product-info__complementary-products .horizontal-product-list-carousel:not(.separate) {
    border-width: 1px;
  }

  .product-info__complementary-products .horizontal-product-list-carousel > .horizontal-product-list, .product-info__complementary-products .horizontal-product-list-carousel .horizontal-product {
    border: none;
  }
}

@media screen and (min-width: 1000px) {
  .product-info {
    top: calc(var(--sticky-area-height)  + 20px);
    z-index: 1;
    position: sticky;
  }
}

.product-gallery {
  gap: var(--spacing-5);
  grid-auto-columns: minmax(0, 1fr);
  display: grid;
}

.product-gallery__ar-wrapper {
  gap: var(--spacing-2-5);
  display: grid;
}

.product-gallery__media-list-wrapper {
  display: grid;
  position: relative;
}

.product-gallery__media-list {
  grid: var(--product-gallery-media-list-grid);
  gap: var(--product-gallery-media-list-gap);
  align-items: start;
  transition: height .1s;
  display: grid;
}

.product-gallery__media {
  position: relative;
}

.product-gallery__media img {
  margin-inline-start: auto;
  margin-inline-end: auto;
}

.product-gallery .page-dots--blurred {
  z-index: 1;
  justify-self: center;
  margin-inline-start: var(--spacing-2);
  margin-inline-end: var(--spacing-2);
  position: absolute;
  bottom: var(--spacing-2);
}

.product-gallery__thumbnail-list {
  align-items: end;
  gap: var(--spacing-2);
  grid-auto-columns: 56px;
  grid-auto-flow: column;
  display: grid;
}

.product-gallery__thumbnail {
  position: relative;
}

.product-gallery__thumbnail:after {
  content: "";
  opacity: 0;
  background: currentColor;
  width: 100%;
  height: 2px;
  margin-block-start: 4px;
  transition: opacity .15s;
  display: block;
}

.product-gallery__thumbnail[aria-current="true"]:after {
  opacity: 1;
}

.product-gallery__media-badge {
  width: var(--spacing-5);
  height: var(--spacing-5);
  background: rgb(var(--background-primary));
  border-radius: var(--rounded-button);
  border: 1px solid rgb(var(--text-color) / .12);
  place-content: center;
  display: grid;
  position: absolute;
  bottom: var(--spacing-2-5);
}

.product-gallery__media-badge:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: var(--spacing-1);
}

.product-gallery__media-badge:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: var(--spacing-1);
}

.product-gallery__zoom {
  transition: opacity .2s ease-in-out, transform .2s ease-in-out;
  position: absolute;
  top: var(--spacing-4);
}

.product-gallery__zoom:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: var(--spacing-4);
}

.product-gallery__zoom:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: var(--spacing-4);
}

.product-gallery__zoom > .circle-button {
  width: 2.1875rem;
  height: 2.1875rem;
}

.product-gallery__cursor.is-half-start svg {
  transform: rotate(180deg);
}

[data-shopify-xr-hidden] {
  visibility: hidden;
}

@media screen and (min-width: 700px) {
  .product-gallery__thumbnail-list {
    grid-auto-columns: 64px;
  }
}

@media screen and (max-width: 999px) {
  .product-gallery__thumbnail-list-wrapper {
    --scroll-shadow-size: 0px;
  }

  .product-gallery--mobile-dots .product-gallery__thumbnail-list-wrapper {
    display: none;
  }

  .product-gallery:has([data-media-type*="video"].is-selected) .product-gallery__zoom {
    opacity: 0;
    visibility: hidden;
    transform: scale(.8);
  }

  .product-gallery--mobile-expanded .product-gallery__media, .product-gallery--mobile-expanded .product-gallery__media > * {
    border-radius: 0;
  }

  .product-gallery--mobile-expanded .product-gallery__zoom:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: 0;
  }

  .product-gallery--mobile-expanded .product-gallery__zoom:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    left: 0;
  }
}

@media screen and (min-width: 1000px) {
  .product-gallery {
    gap: var(--spacing-6) var(--spacing-12);
  }

  .product-gallery__thumbnail-list-wrapper {
    align-items: center;
    gap: var(--spacing-4);
    grid-auto-flow: column;
    display: grid;
    position: relative;
  }

  .product-gallery__thumbnail-list {
    gap: var(--spacing-4);
  }

  .product-gallery__thumbnail-list-wrapper > button {
    z-index: 1;
    opacity: 0;
    margin-top: -3px;
    transition: opacity .1s, transform .1s;
    position: absolute;
    transform: scale(.6);
  }

  .product-gallery__thumbnail-list-wrapper > button:first-child:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    left: 8px;
  }

  .product-gallery__thumbnail-list-wrapper > button:first-child:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: 8px;
  }

  .product-gallery__thumbnail-list-wrapper > button:last-child:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: 8px;
  }

  .product-gallery__thumbnail-list-wrapper > button:last-child:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    left: 8px;
  }

  .product-gallery__thumbnail-list-wrapper > button[disabled] {
    opacity: 0;
  }

  .product-gallery__thumbnail-list-wrapper:hover > button:not([disabled]) {
    opacity: 1;
    transform: scale(1);
  }

  .product-gallery--desktop-grid .product-gallery__thumbnail-list-wrapper {
    display: none;
  }

  .product-gallery__media--expand {
    grid-column: span 2;
  }

  .product-gallery__zoom {
    opacity: 0;
    position: absolute;
    top: auto;
    bottom: var(--spacing-6);
    transform: scale(.8);
  }

  .product-gallery__zoom:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: var(--spacing-6);
  }

  .product-gallery__zoom:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    left: var(--spacing-6);
  }

  .product-gallery__zoom svg {
    width: 17px;
    height: 17px;
  }

  .product-gallery__zoom > .circle-button {
    width: 3.5rem;
    height: 3.5rem;
  }

  .product-gallery--desktop-grid .product-gallery__media:hover .product-gallery__zoom {
    opacity: 1;
    transform: scale(1);
  }

  .product-gallery--desktop-carousel .product-gallery__zoom {
    opacity: 1;
    visibility: visible;
  }

  .product-gallery--desktop-carousel:has([data-media-type*="video"].is-selected) .product-gallery__zoom {
    opacity: 0;
    visibility: hidden;
  }

  [data-shopify-xr-hidden] {
    display: none;
  }
}

@media screen and (min-width: 1150px) {
  .product-gallery--desktop-thumbnails-left {
    grid: auto / auto-flow auto minmax(0, 1fr);
    align-items: start;
  }

  .product-gallery--desktop-thumbnails-left .product-gallery__thumbnail-list-wrapper {
    order: -1;
    grid-auto-flow: row;
    justify-items: center;
    overflow: auto;
  }

  .product-gallery--desktop-thumbnails-left .product-gallery__thumbnail-list {
    gap: var(--spacing-2-5);
    grid-auto-flow: row;
    max-height: 600px;
    overflow: auto;
  }

  .product-gallery--desktop-thumbnails-left .product-gallery__thumbnail-list-wrapper > button {
    transform: rotate(90deg);
  }
}

.revealed-image {
  z-index: -1;
  display: inline;
  position: relative;
}

.revealed-image__scroll-tracker {
  height: 100%;
  position: absolute;
  top: 0;
}

.revealed-image__scroller {
  height: 180vh;
  height: 180lvh;
  display: block;
  position: sticky;
  top: 0;
  overflow: hidden;
}

.revealed-image__wrapper {
  height: 100vh;
  height: 100lvh;
  top: calc(var(--sticky-area-height) / 2);
  grid-auto-rows: minmax(0, 1fr);
  place-items: center;
  display: grid;
  position: relative;
}

.revealed-image__wrapper > * {
  grid-area: 1 / -1;
}

.revealed-image__wrapper img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.revealed-image__wrapper > .revealed-image__image-clipper, .revealed-image__wrapper > .revealed-image__content--inside {
  clip-path: inset(37% 37% 41%);
  width: 100%;
  height: 100%;
}

.revealed-image__content {
  width: 100%;
  height: 100%;
  padding-inline: max(var(--container-gutter), 50% - var(--container-max-width) / 2);
  text-align: center;
  z-index: 1;
  opacity: 0;
  place-content: center;
  display: grid;
}

.revealed-image__content-inner {
  max-width: 1300px;
  margin-inline-start: auto;
  margin-inline-end: auto;
}

.rich-text {
  display: flex;
}

.rich-text__wrapper {
  max-width: var(--rich-text-max-width);
}

.rich-text .prose, .split-rich-text .prose {
  align-items: start;
  display: grid;
}

.rich-text .image-icon {
  margin-block-end: 0 !important;
}

.split-rich-text {
  display: none;
}

@media screen and (min-width: 1000px) {
  .split-rich-text {
    gap: var(--spacing-24);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid;
  }
}

@media screen and (min-width: 1150px) {
  .split-rich-text {
    gap: var(--spacing-32);
  }
}

.scrolling-text {
  overflow: hidden;
}

.scrolling-text__wrapper {
  display: grid;
}

.scrolling-text__text {
  line-height: normal;
  font-size: var(--scrolling-text-font-size);
  padding-inline-start: min(1em, 2rem);
  padding-inline-end: min(1em, 2rem);
}

@supports (overflow: clip) {
  .scrolling-text {
    overflow: clip visible;
  }

  .scrolling-text__text {
    line-height: 1;
  }
}

@media screen and (min-width: 700px) {
  .scrolling-text__text {
    padding-inline-start: min(1.5em, 4rem);
    padding-inline-end: min(1.5em, 4rem);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .scrolling-text__wrapper {
    grid: auto / auto-flow max-content;
  }

  .scrolling-text--auto .scrolling-text__text {
    animation: translateFull var(--marquee-animation-duration, 0s) linear infinite;
  }

  .scrolling-text--scroll .scrolling-text__wrapper {
    min-width: min-content;
  }
}

@media (prefers-reduced-motion: reduce) {
  .scrolling-text {
    --scrolling-text-font-size: var(--text-h0);
  }

  .scrolling-text__wrapper {
    text-align: center;
    justify-content: center;
  }
}

.search-input {
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-4);
  border-bottom-width: 2px;
  padding-block-end: var(--spacing-2-5);
  transition: border-bottom-color .1s;
  display: flex;
}

.search-input:focus-within {
  border-bottom-color: rgb(var(--text-color));
}

.search-input > input {
  -webkit-appearance: none;
  appearance: none;
  width: 0;
  font-size: var(--text-h5);
  background: none;
  border-radius: 0;
  outline: none;
  flex-grow: 1;
  font-weight: bolder;
}

.search-input > input::placeholder {
  color: rgb(var(--text-color) / .5);
}

.search-input > input[type="search"]::-webkit-search-decoration {
  display: none;
}

.search-input > input[type="search"]::-webkit-search-cancel-button {
  display: none;
}

.search-input > [type="reset"] {
  font-size: var(--text-sm);
  opacity: 0;
  transition: opacity .2s;
}

.search-input > input:not(:placeholder-shown) ~ [type="reset"] {
  opacity: 1;
}

@media screen and (min-width: 700px) {
  .search-input {
    padding-block-end: var(--spacing-3);
  }

  .search-input > input {
    font-size: var(--text-h4);
  }

  .search-input > [type="reset"] {
    font-size: var(--text-base);
  }
}

.search-drawer {
  --drawer-body-padding: 1.25rem 1.5rem 1.5rem 1.5rem;
  --drawer-content-max-height: 100%;
  height: 100%;
}

.search-drawer::part(content) {
  height: max-content;
  overflow: auto;
}

.search-drawer::part(outside-close-button), .search-drawer::part(close-button) {
  display: none;
}

@media screen and (min-width: 700px) {
  .search-drawer {
    --drawer-body-padding: 2rem 2.5rem 2.5rem 2.5rem;
  }

  .search-drawer::part(content) {
    height: 100%;
  }
}

.predictive-search {
  min-width: 0;
  display: block;
}

.predictive-search__tabs {
  gap: var(--spacing-4);
  display: grid;
}

.predictive-search__tabs::part(tab-list) {
  white-space: nowrap;
  scrollbar-width: none;
  gap: var(--spacing-4);
  margin-inline: calc(-1 * var(--container-outer-width));
  padding-inline: var(--container-outer-width);
  scroll-padding-inline: var(--container-outer-width);
  grid-auto-columns: max-content;
  grid-auto-flow: column;
  display: grid;
  overflow: auto hidden;
}

.predictive-search__tab-item {
  align-items: center;
  gap: var(--spacing-2);
  display: flex;
}

.predictive-search__tab-item [aria-selected] {
  transition: opacity .2s ease-in-out;
}

.predictive-search__tab-item [aria-selected="false"]:not(:hover) {
  opacity: .3;
}

.predictive-search-result {
  align-items: center;
  gap: var(--spacing-5);
  display: flex;
}

.predictive-search-result > img {
  flex-shrink: 0;
  width: 5rem;
}

@media screen and (min-width: 700px) {
  .predictive-search__tabs {
    gap: var(--spacing-6);
  }

  .predictive-search__tabs::part(tab-list) {
    gap: var(--spacing-5);
  }

  .predictive-search-result {
    gap: var(--spacing-6);
  }

  .predictive-search-result > img {
    width: 6rem;
  }
}

@media screen and (min-width: 1000px) {
  .search-drawer--full {
    --search-full-gap: 40px;
    width: 100%;
  }

  .search-drawer--full .search-input {
    padding-block-end: var(--spacing-6);
  }

  .search-drawer--full .predictive-search__tabs {
    gap: var(--spacing-8);
  }

  .search-drawer--full .predictive-search__tabs::part(tab-list), .search-drawer--full .predictive-search__tabs::part(tab-panels), .search-drawer--full .predictive-search__skeleton-full-width {
    grid-template-columns: repeat(var(--predictive-search-column-count, 4), minmax(var(--predictive-search-column-width, 0px), 1fr));
    gap: 0 var(--search-full-gap);
    display: grid;
  }

  .search-drawer--full .predictive-search__tab-content {
    display: grid !important;
  }

  .search-drawer--full .predictive-search__tab-item {
    justify-content: space-between;
    align-items: center;
    display: flex;
  }

  .search-drawer--full .predictive-search__tab-content {
    align-content: start;
  }

  .search-drawer--full .predictive-search__tab-content ~ .predictive-search__tab-content:before {
    content: "";
    margin-left: calc(-1 * var(--search-full-gap) / 2);
    background: rgb(var(--text-color) / .12);
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
  }

  .search-drawer--full [role="tab"] {
    pointer-events: none;
    opacity: 1 !important;
  }
}

@media screen and (min-width: 1400px) {
  .search-drawer--full {
    --search-full-gap: 96px;
  }
}

.search-banner {
  padding-block-start: var(--spacing-8);
}

@media screen and (min-width: 1000px) {
  .search-banner {
    padding-block-start: var(--spacing-12);
  }
}

.main-search-form .search-input {
  width: 260px;
  margin-inline-start: auto;
  margin-inline-end: auto;
}

#main-search-results-page {
  margin-block-start: var(--spacing-12);
  display: block;
}

@media screen and (min-width: 700px) {
  .main-search-form .search-input {
    width: 490px;
  }
}

.shop-the-look {
  --shop-the-look-gap: var(--spacing-5);
  --shop-the-look-grid: auto-flow / auto;
  grid: var(--shop-the-look-grid);
  align-items: flex-start;
  gap: var(--shop-the-look-gap);
  display: grid;
}

.shop-the-look__dot {
  --dot-size: 10px;
  top: calc(var(--shop-the-look-dot-top)  - (var(--dot-size) / 2));
  left: calc(var(--shop-the-look-dot-left)  - (var(--dot-size) / 2));
  width: var(--dot-size);
  height: var(--dot-size);
  border-radius: var(--rounded-full);
  background-color: rgb(var(--shop-the-look-dot-background));
  transition: transform .2s ease-in-out;
  position: absolute;
}

.shop-the-look__dot:after {
  content: "";
  top: calc(50% + (var(--spacing-6) * -1));
  left: calc(50% + (var(--spacing-6) * -1));
  width: var(--spacing-12);
  height: var(--spacing-12);
  background: radial-gradient(50% 50% at 50% 50%, rgb(var(--shop-the-look-dot-background) / 0), rgb(var(--shop-the-look-dot-background) / .3));
  border-radius: var(--rounded-full);
  animation: 2s ease-in-out infinite alternate ping;
  position: absolute;
}

.shop-the-look__dot[aria-current="true"] {
  transform: scale(1.3);
}

.shop-the-look__products {
  display: grid;
}

.shop-the-look__carousel > .horizontal-product-list {
  grid: var(--shop-the-look-carousel-grid);
  display: grid;
}

@media screen and (pointer: fine) {
  .shop-the-look__dot:hover {
    transform: scale(1.3);
  }
}

@media screen and (min-width: 700px) {
  .section-boxed .shop-the-look {
    --shop-the-look-gap: var(--calculated-section-spacing-inline);
    --shop-the-look-grid: auto / 55% minmax(0, 1fr);
  }

  .shop-the-look {
    --shop-the-look-gap: var(--spacing-18);
    --shop-the-look-grid: auto / minmax(0, 1fr) 40%;
  }

  .shop-the-look__products {
    justify-items: flex-end;
    gap: var(--spacing-8);
    display: grid;
  }

  .shop-the-look__carousel {
    width: 100%;
    display: grid;
  }

  .shop-the-look__carousel > * {
    grid-area: 1 / -1;
  }

  .shop-the-look__controls {
    gap: var(--spacing-4);
    grid: auto / auto-flow;
    margin-inline-start: auto;
    margin-inline-end: auto;
    display: grid;
  }
}

@media screen and (min-width: 1000px) {
  .section-boxed .shop-the-look__carousel {
    --shop-the-look-carousel-width: 100%;
  }

  .shop-the-look {
    --shop-the-look-gap: 0;
    --shop-the-look-grid: auto / repeat(2, minmax(0, 1fr));
  }

  .shop-the-look__products {
    justify-items: center;
  }

  .shop-the-look__carousel {
    --shop-the-look-carousel-width: 60%;
    width: var(--shop-the-look-carousel-width);
  }
}

@media screen and (min-width: 1150px) {
  .section-boxed .shop-the-look {
    --shop-the-look-grid: auto / repeat(2, 1fr);
  }

  .section-boxed .shop-the-look__carousel {
    --shop-the-look-carousel-width: 60%;
  }
}

.slideshow {
  background: var(--slideshow-background);
}

.slideshow, .slideshow__carousel {
  color: rgb(var(--text-color));
  display: block;
  position: relative;
}

.slideshow__slide {
  position: relative;
}

.slideshow__slide:not(.is-selected) {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.slideshow__slide-background {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.slideshow__slide.is-selected video-media ~ * {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.slideshow__slide.is-selected .content-over-media:before {
  background: rgb(var(--content-over-media-overlay)) !important;
}

.slideshow__controls {
  z-index: 1;
  position: absolute;
  bottom: var(--container-gutter);
}

.slideshow__controls:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: max(var(--container-gutter), 50% - var(--container-max-width) / 2);
}

.slideshow__controls:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: max(var(--container-gutter), 50% - var(--container-max-width) / 2);
}

.slideshow__controls .circle-button--fill {
  background: rgb(var(--slideshow-controls-background));
  color: rgb(var(--slideshow-controls-color));
}

.slideshow__controls .circle-button--bordered {
  color: rgb(var(--slideshow-controls-color));
}

.slideshow__controls .numbered-dots > * {
  color: rgb(var(--slideshow-controls-color) / .7);
  border-color: rgb(var(--slideshow-controls-color) / .3);
}

.slideshow__controls .numbered-dots > [aria-current="true"] {
  color: rgb(var(--slideshow-controls-color));
}

.slideshow__controls .stretching-dots > * {
  background: rgb(var(--slideshow-controls-color));
}

.slideshow__cursor.is-half-start .icon-chevron-right {
  transform: rotate(180deg);
}

.slideshow__cursor-ring {
  --radius: 27;
  --circumference: calc(2px * (22 / 7) * var(--radius));
  position: absolute;
  top: 0;
  left: 0;
}

.slideshow__cursor-ring circle {
  stroke-opacity: 1;
  stroke-dashoffset: 0;
  stroke-dasharray: calc(var(--circumference) * var(--progress, 0)), var(--circumference);
  transform: rotate(-90deg);
}

.slideshow .content-over-media--auto svg {
  height: min(700px, 50vmax);
}

@media screen and (max-width: 699px) {
  .slideshow__controls .circle-button {
    width: var(--spacing-10);
    height: var(--spacing-10);
  }

  .slideshow--multiple-slides :is(.place-self-end-start, .place-self-end-center) {
    padding-block-end: 2.5rem;
  }
}

.slideshow--boxed {
  --content-over-media-gap: var(--section-inner-spacing-inline);
  background: var(--slideshow-background);
  padding-block-start: var(--section-inner-max-spacing-block);
  padding-block-end: var(--section-inner-max-spacing-block);
  padding-inline-start: max(var(--container-gutter), 50% - var(--container-max-width) / 2);
  padding-inline-end: max(var(--container-gutter), 50% - var(--container-max-width) / 2);
}

.slideshow--boxed .content-over-media > :not(img, svg) {
  padding-block-start: 0 !important;
}

.shopify-section:first-child .slideshow--boxed[allow-transparent-header] {
  padding-block-start: max(var(--section-inner-max-spacing-block), var(--header-height));
}

@media screen and (min-width: 1400px) {
  .slideshow__controls {
    bottom: var(--spacing-14);
  }

  .slideshow__controls:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: var(--spacing-14);
  }

  .slideshow__controls:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    left: var(--spacing-14);
  }
}

.shopify-payment-button__button {
  height: auto !important;
}

.shopify-payment-button__button[disabled] {
  opacity: 1 !important;
}

.shopify-payment-button__button--branded {
  border-radius: var(--rounded-button) !important;
  min-height: 100% !important;
  overflow: hidden !important;
}

.shopify-payment-button__button--unbranded {
  --button-outline-color: var(--button-background, --button-background-primary);
  padding: var(--shopify-payment-button-padding, var(--spacing-4) var(--spacing-8)) !important;
  -webkit-appearance: none !important;
  border-radius: var(--rounded-button) !important;
  background: rgb(var(--button-background, var(--button-background-primary)) / var(--button-background-opacity, 1)) !important;
  color: rgb(var(--button-text-color, var(--button-text-primary))) !important;
  font-family: var(--text-font-family) !important;
  font-style: var(--text-font-style) !important;
  font-weight: bolder !important;
  font-size: var(--shopify-payment-button-font-size, var(--text-base)) !important;
  text-align: center !important;
  line-height: inherit !important;
  letter-spacing: var(--text-letter-spacing) !important;
  text-decoration: none !important;
  transition: background-color .15s ease-in-out, color .15s ease-in-out, box-shadow .15s ease-in-out !important;
  display: inline-block !important;
  position: relative !important;
  box-shadow: inset 0 0 0 2px #0000 !important;
}

shopify-accelerated-checkout, shopify-accelerated-checkout-cart {
  --shopify-accelerated-checkout-button-block-size: 54px;
  --shopify-accelerated-checkout-button-border-radius: var(--rounded-button);
  --shopify-accelerated-checkout-button-box-shadow: none;
}

@media screen and (min-width: 700px) {
  .shopify-payment-button__button--unbranded {
    padding: var(--shopify-payment-button-padding, 1.075rem var(--spacing-10)) !important;
  }

  shopify-accelerated-checkout, shopify-accelerated-checkout-cart {
    --shopify-accelerated-checkout-button-block-size: 60px;
  }
}

.shopify-policy__container {
  gap: var(--spacing-12) !important;
  max-width: none !important;
  padding: var(--spacing-14) 0 !important;
  grid-auto-columns: minmax(0, 1fr) !important;
  margin-inline-start: max(var(--container-gutter), 50% - 80ch / 2) !important;
  margin-inline-end: max(var(--container-gutter), 50% - 80ch / 2) !important;
  display: grid !important;
}

.shopify-challenge__container, .shopify-email-marketing-confirmation__container {
  padding: var(--spacing-14) 0 !important;
}

@media screen and (min-width: 700px) {
  .shopify-policy__container, .shopify-challenge__container, .shopify-email-marketing-confirmation__container {
    padding-block-start: var(--spacing-16) !important;
    padding-block-end: var(--spacing-16) !important;
  }
}

.tabs {
  max-width: var(--tabs-max-width);
  margin-inline-start: auto;
  margin-inline-end: auto;
  display: grid;
}

@media screen and (max-width: 699px) {
  .tabs-inner {
    display: none;
  }
}

@media screen and (min-width: 700px) {
  .tabs-inner {
    gap: var(--spacing-10);
    display: grid;
  }

  .tabs-inner::part(tab-list) {
    box-shadow: inset 0 -2px rgb(var(--text-color) / .1);
    grid: auto / auto-flow 1fr;
    align-items: end;
    display: grid;
    position: relative;
  }

  .tabs-inner::part(tab-list):after {
    content: "";
    height: 2px;
    width: calc(100% / var(--item-count));
    background: rgb(var(--text-color));
    transform: translateX(calc(var(--selected-index) * var(--transform-logical-flip) * 100%));
    transition: transform .3s;
    position: absolute;
    bottom: 0;
  }

  .tabs-inner::part(tab-list):not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)):after {
    left: 0;
  }

  .tabs-inner::part(tab-list):is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)):after {
    right: 0;
  }

  .tabs-nav__button {
    padding-block-start: var(--spacing-6);
    padding-block-end: var(--spacing-6);
    transition: color .2s ease-in-out;
  }

  .tabs-nav__button[aria-selected="true"] {
    color: rgb(var(--text-color));
  }
}

.testimonial-list {
  grid: var(--testimonial-list-grid);
  gap: var(--grid-gutter);
  align-items: start;
  display: grid;
}

.testimonial {
  align-content: start;
  gap: var(--spacing-4);
  padding: var(--spacing-6);
  scroll-snap-align: center;
  scroll-snap-stop: always;
  display: grid;
}

.testimonial__image {
  width: var(--spacing-10);
}

@media screen and (min-width: 700px) {
  .testimonial {
    gap: var(--spacing-5);
    padding: var(--spacing-8);
  }

  .testimonial__image {
    width: var(--spacing-14);
  }
}

@media screen and (min-width: 1150px) {
  .testimonial {
    scroll-snap-align: none;
  }
}

@media screen and (min-width: 1400px) {
  .testimonial {
    gap: var(--spacing-6);
    padding: var(--spacing-10);
  }
}

.text-with-icons {
  gap: var(--spacing-8);
  text-align: var(--text-with-icons-text-align);
  justify-content: var(--text-with-icons-justify);
  display: grid;
}

.text-with-icons__list {
  grid: auto / var(--text-with-icons-template);
  row-gap: var(--spacing-6);
  align-items: start;
  min-width: 0;
  display: grid;
}

.text-with-icons__item {
  gap: var(--text-with-icons-gap);
  justify-items: var(--text-with-icons-justify);
  padding-inline-start: var(--spacing-6);
  padding-inline-end: var(--spacing-6);
  display: grid;
}

@media screen and (min-width: 1000px) {
  :not(.is-scrollable) .text-with-icons__list {
    gap: var(--spacing-6);
  }

  :not(.is-scrollable) .text-with-icons__item {
    padding-inline-start: 0;
    padding-inline-end: 0;
  }
}

@media screen and (min-width: 1400px) {
  :not(.is-scrollable) .text-with-icons__list {
    gap: var(--spacing-10);
  }
}

.timeline {
  gap: var(--spacing-8);
  grid-template-columns: minmax(0, 1fr);
  display: grid;
}

.timeline__slider {
  align-items: start;
  display: grid;
}

.timeline__slider > * {
  grid-area: 1 / -1;
}

.timeline__slide {
  gap: var(--spacing-6);
  text-align: center;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  display: grid;
}

.timeline__image {
  width: 100%;
  max-width: 410px;
  margin-inline-start: auto;
  margin-inline-end: auto;
  position: relative;
}

.timeline__controls {
  --timeline-dot-size: var(--spacing-4);
  --timeline-dot-padding-inline-end: var(--spacing-4);
  padding-block-start: calc((var(--timeline-dot-size) / 2));
}

.timeline__nav {
  grid: auto / repeat(var(--timeline-nav-item-count), minmax(0, 1fr));
  width: max-content;
  min-width: 100%;
  display: grid;
}

.timeline__nav-bar {
  background-color: rgb(var(--text-color) / .12);
  width: 100%;
  height: 2px;
  position: absolute;
  top: -1px;
}

.timeline__nav-bar:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: 0;
}

.timeline__nav-bar:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: 0;
}

.timeline__nav-item {
  gap: var(--spacing-3);
  align-content: flex-start;
  min-width: 100px;
  max-width: 200px;
  padding-inline-end: var(--timeline-dot-padding-inline-end);
  display: grid;
  position: relative;
}

.timeline__nav-item:before {
  content: "";
  width: var(--timeline-dot-size);
  height: var(--timeline-dot-size);
  border-radius: var(--rounded-full);
  background-color: rgb(var(--background));
  border-width: 2px;
  margin-block-start: calc((var(--timeline-dot-size) / 2) * -1);
  transition: border-color .2s ease-in-out, background-color .2s ease-in-out;
}

.timeline__nav-item[aria-current="true"]:before {
  border-color: rgb(var(--text-color));
  background-color: rgb(var(--text-color));
}

.timeline__nav-label {
  opacity: .5;
  transition: opacity .2s ease-in-out;
}

.timeline__nav-item[aria-current="true"] .timeline__nav-label {
  opacity: 1;
}

@media screen and (min-width: 700px) {
  .timeline {
    gap: var(--spacing-14);
  }

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

  .timeline__slide > .prose {
    padding-inline-start: var(--spacing-14);
    padding-inline-end: var(--spacing-14);
  }

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

  .timeline__controls {
    --timeline-dot-size: var(--spacing-5);
    --timeline-dot-padding-inline-end: var(--spacing-5);
  }

  .timeline__nav-item {
    min-width: 160px;
  }
}

@media screen and (min-width: 1000px) {
  .timeline__slide {
    text-align: start;
    grid: auto / repeat(2, minmax(0, 1fr));
    gap: 0;
  }

  .timeline__slide > .timeline__image-wrapper {
    padding-inline-end: 16.5%;
  }

  .timeline__slide > .prose {
    z-index: 1;
    padding-inline-start: 0;
    padding-inline-end: 0;
    position: relative;
  }

  .timeline__image {
    max-width: initial;
  }

  .timeline__image-wrapper {
    position: relative;
  }

  .timeline__controls {
    align-items: flex-start;
    gap: var(--spacing-10);
    display: flex;
  }

  .timeline__controls.scroll-area {
    overflow: visible;
  }

  .timeline__buttons {
    gap: var(--spacing-4);
    margin-block-start: calc(var(--spacing-6) * -1);
    display: flex;
  }

  .timeline__nav {
    width: 100%;
    min-width: auto;
    padding-block-start: 0;
  }

  .timeline__nav-item {
    min-width: auto;
  }
}

@media screen and (min-width: 1150px) {
  .timeline__slide > .prose {
    padding-inline-end: 16.5%;
  }

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

@media screen and (min-width: 1400px) {
  .timeline__slide > .prose {
    max-width: 85%;
  }
}

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

:is(.sr-only[type="checkbox"]:focus-visible + label, .sr-only[type="radio"]:focus-visible + label) {
  outline: 2px solid highlight;
  outline: 2px solid -webkit-focus-ring-color;
}

.skip-to-content:focus-visible {
  z-index: 9999;
  clip: auto;
  color: #fff;
  background: #000;
  width: auto;
  height: auto;
  padding: 6px 12px;
  font-weight: bold;
  overflow: auto;
}

.tap-area {
  position: relative;
}

.tap-area:before {
  content: "";
  inset: calc(-1 * var(--spacing-2-5));
  position: absolute;
}

@media print {
  .print\:hidden {
    display: none;
  }
}

@keyframes translateFull {
  from {
    transform: translateX(0);
  }

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

@keyframes ping {
  from {
    transform: scale(1);
  }

  to {
    transform: scale(.8);
  }
}

@media screen and (pointer: fine) {
  .zoom-image--enabled .zoom-image {
    transform-origin: center;
    transition: transform 1.5s cubic-bezier(.22, 1, .36, 1);
  }

  .zoom-image--enabled .group:hover .zoom-image {
    transform: scale(1.06);
  }
}

.reveal {
  opacity: 0;
}

.reveal-invisible {
  opacity: 0;
  visibility: hidden;
}

@media (prefers-reduced-motion: no-preference) {
  [reveal-js], [reveal-on-scroll="true"] {
    opacity: 0;
  }
}

@media (scripting: none) {
  [reveal-js], [reveal-on-scroll="true"] {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: no-preference) {
  reveal-items {
    opacity: var(--stagger-products-reveal-opacity);
  }
}

@media (scripting: none) {
  reveal-items {
    opacity: 1;
  }
}

.border {
  border-width: 1px;
}

.border-x {
  border-left-width: 1px;
  border-right-width: 1px;
}

.border-y {
  border-block-start-width: 1px;
  border-block-end-width: 1px;
}

.border-t {
  border-top-width: 1px;
}

.border-b {
  border-bottom-width: 1px;
}

.border-s {
  border-block-start-width: 1px;
}

.border-e {
  border-block-end-width: 1px;
}

.divide-x > :not([hidden]) ~ :not([hidden]) {
  border-inline-start-width: 1px;
}

.divide-y > :not([hidden]) ~ :not([hidden]) {
  border-block-start-width: 1px;
}

.ring {
  box-shadow: 0 0 0 1px rgb(var(--text-color) / .12);
}

.ring-current {
  box-shadow: 0 0 0 1px rgb(var(--text-color));
}

.ring-inset {
  box-shadow: inset 0 0 0 1px rgb(var(--text-color) / .12);
}

.rounded-xs {
  border-radius: var(--rounded-xs);
}

.rounded-sm {
  border-radius: var(--rounded-sm);
}

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

.rounded-lg {
  border-radius: var(--rounded-lg);
}

.rounded-full {
  border-radius: var(--rounded-full);
}

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

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

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

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

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

.text-subdued {
  color: rgb(var(--text-color) / .7);
}

.text-on-sale {
  color: rgb(var(--on-sale-text));
}

.text-stroke {
  -webkit-text-stroke: 1px currentColor;
  -webkit-text-fill-color: transparent;
}

.text-gradient {
  background-image: var(--gradient);
  color: #0000;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  -webkit-background-clip: text;
  background-clip: text;
}

.text-stroke.text-gradient {
  color: rgb(var(--background));
  -webkit-text-stroke-color: transparent;
  -webkit-text-fill-color: unset;
}

.bg-custom {
  background: rgb(var(--background));
}

.bg-gradient {
  background-image: var(--gradient);
}

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

.bg-error {
  background: rgb(var(--error-background));
}

.bg-success {
  background: rgb(var(--success-background));
}

.bg-warning {
  background: rgb(var(--warning-background));
}

.bg-secondary {
  background: rgb(var(--text-color) / .05);
}

.opacity-0 {
  opacity: 0;
}

.backdrop-blur {
  -webkit-backdrop-filter: blur(var(--backdrop-blur, 0px));
  backdrop-filter: blur(var(--backdrop-blur, 0px));
}

.filter-invert {
  filter: invert();
}

.shadow-sm {
  filter: drop-shadow(var(--shadow-sm));
}

.shadow {
  filter: drop-shadow(var(--shadow));
}

.shadow-md {
  filter: drop-shadow(var(--shadow-md));
}

.shadow-block {
  box-shadow: var(--shadow-block);
}

.cross-fade {
  display: block;
}

.cross-fade > * {
  transition: opacity .2s ease-in-out;
}

.cross-fade > :last-child {
  display: none;
}

@media screen and (pointer: fine) {
  .cross-fade > :last-child {
    opacity: 0;
    display: block;
  }

  .cross-fade:hover > :first-child {
    opacity: 0;
  }

  .cross-fade:hover > :last-child {
    opacity: 1;
  }
}

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

.scroll-area {
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  overflow: auto hidden;
}

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

.snap-start {
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.snap-center {
  scroll-snap-align: center;
  scroll-snap-stop: always;
}

:not(.is-scrollable) ~ .peer-not-scrollable\:hidden, .hidden, .empty\:hidden:empty {
  display: none;
}

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

.block {
  display: block;
}

.contents {
  display: contents;
}

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

  .sm\:block {
    display: block;
  }

  .sm\:flex {
    display: flex;
  }

  .sm\:grid {
    display: grid;
  }

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

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

@media screen and (min-width: 1000px) {
  .md\:hidden {
    display: none;
  }

  .md\:block {
    display: block;
  }

  .md\:flex {
    display: flex;
  }

  .md\:grid {
    display: grid;
  }

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

  .md\:contents {
    display: contents;
  }
}

@media screen and (min-width: 1150px) {
  .lg\:hidden {
    display: none;
  }

  .lg\:block {
    display: block;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:grid {
    display: grid;
  }

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

  .lg\:contents {
    display: contents;
  }
}

@media screen and (min-width: 1400px) {
  .xl\:hidden {
    display: none;
  }

  .xl\:block {
    display: block;
  }

  .xl\:flex {
    display: flex;
  }

  .xl\:grid {
    display: grid;
  }

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

  .xl\:contents {
    display: contents;
  }
}

@media screen and (min-width: 1600px) {
  .\32 xl\:hidden {
    display: none;
  }

  .\32 xl\:block {
    display: block;
  }

  .\32 xl\:flex {
    display: flex;
  }

  .\32 xl\:grid {
    display: grid;
  }

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

  .\32 xl\:contents {
    display: contents;
  }
}

@media screen and (max-width: 699px) {
  .sm-max\:hidden {
    display: none;
  }
}

@media screen and (max-width: 999px) {
  .md-max\:hidden {
    display: none;
  }
}

@media screen and (max-width: 1149px) {
  .lg-max\:hidden {
    display: none;
  }
}

@media screen and (max-width: 1399px) {
  .xl-max\:hidden {
    display: none;
  }
}

@media screen and (max-width: 1599px) {
  .\32 xl-max\:hidden {
    display: none;
  }
}

@media screen and (pointer: fine) {
  .pointer-fine\:hidden {
    display: none;
  }

  .pointer-fine\:block {
    display: block;
  }
}

@media not screen and (pointer: fine) {
  .pointer-coarse\:hidden {
    display: none;
  }

  .pointer-coarse\:block {
    display: block;
  }
}

@media (prefers-reduced-motion: reduce) {
  .motion-reduce\:hidden {
    display: none;
  }

  .motion-reduce\:block {
    display: block;
  }
}

.invisible {
  visibility: hidden;
}

.relative {
  position: relative;
}

.wrap {
  flex-wrap: wrap;
}

.grow {
  flex-grow: 1;
}

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

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

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

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

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

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

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

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

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

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

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

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

.justify-items-start {
  justify-items: start;
}

.justify-items-center {
  justify-items: safe center;
}

.justify-items-end {
  justify-items: end;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 700px) {
  .sm\:text-start {
    text-align: start;
  }

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

  .sm\:text-end {
    text-align: end;
  }

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

  .sm\:place-self-start-center {
    place-self: start center;
  }

  .sm\:place-self-start-end {
    place-self: start end;
  }

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

  .sm\:place-self-center-start {
    place-self: center start;
  }

  .sm\:place-self-center-end {
    place-self: center end;
  }

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

  .sm\:place-self-end-start {
    place-self: end start;
  }

  .sm\:place-self-end-center {
    place-self: end center;
  }

  .sm\:justify-items-center {
    justify-items: safe center;
  }
}

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

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

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

.w-full {
  width: 100%;
}

.h-full {
  height: 100%;
}

.w-0 {
  width: 0;
}

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

.min-h-full {
  min-height: 100%;
}

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

.my-auto {
  margin-block-start: auto;
  margin-block-end: auto;
}

.aspect-short {
  aspect-ratio: 4 / 3;
}

.aspect-tall {
  aspect-ratio: 2 / 3;
}

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

.aspect-video {
  aspect-ratio: 16 / 9;
}

.aspect-video iframe {
  width: 100%;
  height: 100%;
}

.gap-0\.5 {
  gap: var(--spacing-0-5);
}

.gap-1 {
  gap: var(--spacing-1);
}

.gap-1\.5 {
  gap: var(--spacing-1-5);
}

.gap-2 {
  gap: var(--spacing-2);
}

.gap-2\.5 {
  gap: var(--spacing-2-5);
}

.gap-3 {
  gap: var(--spacing-3);
}

.gap-3\.5 {
  gap: var(--spacing-3-5);
}

.gap-4 {
  gap: var(--spacing-4);
}

.gap-4\.5 {
  gap: var(--spacing-4-5);
}

.gap-5 {
  gap: var(--spacing-5);
}

.gap-5\.5 {
  gap: var(--spacing-5-5);
}

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

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

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

.gap-12 {
  gap: var(--spacing-12);
}

@media screen and (min-width: 700px) {
  .sm\:gap-0\.5 {
    gap: var(--spacing-0-5);
  }

  .sm\:gap-1 {
    gap: var(--spacing-1);
  }

  .sm\:gap-1\.5 {
    gap: var(--spacing-1-5);
  }

  .sm\:gap-2 {
    gap: var(--spacing-2);
  }

  .sm\:gap-2\.5 {
    gap: var(--spacing-2-5);
  }

  .sm\:gap-3 {
    gap: var(--spacing-3);
  }

  .sm\:gap-3\.5 {
    gap: var(--spacing-3-5);
  }

  .sm\:gap-4 {
    gap: var(--spacing-4);
  }

  .sm\:gap-4\.5 {
    gap: var(--spacing-4-5);
  }

  .sm\:gap-5 {
    gap: var(--spacing-5);
  }

  .sm\:gap-5\.5 {
    gap: var(--spacing-5-5);
  }

  .sm\:gap-6 {
    gap: var(--spacing-6);
  }

  .sm\:gap-8 {
    gap: var(--spacing-8);
  }

  .sm\:gap-10 {
    gap: var(--spacing-10);
  }

  .sm\:gap-12 {
    gap: var(--spacing-12);
  }
}

.overflow-hidden {
  overflow: hidden;
}

.object-fill {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
}

.object-fill:not(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  left: 0;
}

.object-fill:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  right: 0;
}

.object-fill, .object-fill-safe, .object-cover {
  object-fit: cover;
  object-position: center;
}

.object-contain {
  object-fit: contain;
  object-position: center;
}

.placeholder {
  background: rgb(var(--text-primary) / .3);
  fill: rgb(var(--text-primary) / .7);
  color: rgb(var(--text-primary) / .7);
  display: block;
}

.bold {
  font-weight: bold;
}

.text-xxs {
  font-size: 10px;
  line-height: 1.7;
}

.text-xs {
  font-size: var(--text-xs);
  line-height: 1.7;
}

.text-sm {
  font-size: var(--text-sm);
  line-height: 1.6;
}

.text-base {
  font-size: var(--text-base);
  line-height: 1.6;
}

.text-lg {
  font-size: var(--text-lg);
  line-height: 1.6;
}

.subheading {
  font-weight: bold;
}

.heading, .h0, .h1, .h2, .h3, .h4, .h5, .h6, .prose :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--heading-font-family);
  font-weight: var(--heading-font-weight);
  font-style: var(--heading-font-style);
  letter-spacing: var(--heading-letter-spacing);
  text-transform: var(--heading-text-transform);
  overflow-wrap: anywhere;
}

.h0 {
  font-size: var(--text-h0);
  line-height: 1;
}

.h1, .prose h1:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
  font-size: var(--text-h1);
  line-height: 1.1;
}

.h2, .prose h2:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
  font-size: var(--text-h2);
  line-height: 1.1;
}

.h3, .prose h3:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
  font-size: var(--text-h3);
  line-height: 1.2;
}

.h4, .prose h4:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
  font-size: var(--text-h4);
  line-height: 1.3;
}

.h5, .prose h5:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
  font-size: var(--text-h5);
  line-height: 1.4;
}

.h6, .prose h6:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
  font-size: var(--text-h6);
  line-height: 1.4;
}

@media screen and (min-width: 700px) {
  .sm\:text-xxs {
    font-size: 10px;
    line-height: 1.7;
  }

  .sm\:text-xs {
    font-size: var(--text-xs);
    line-height: 1.7;
  }

  .sm\:text-sm {
    font-size: var(--text-sm);
    line-height: 1.6;
  }

  .sm\:text-base {
    font-size: var(--text-base);
    line-height: 1.6;
  }

  .sm\:text-lg {
    font-size: var(--text-lg);
    line-height: 1.6;
  }

  .sm\:h0 {
    font-size: var(--text-h0);
    line-height: 1;
  }

  .sm\:h1 {
    font-size: var(--text-h1);
    line-height: 1.1;
  }

  .sm\:h2 {
    font-size: var(--text-h2);
    line-height: 1.1;
  }

  .sm\:h3 {
    font-size: var(--text-h3);
    line-height: 1.2;
  }

  .sm\:h4 {
    font-size: var(--text-h4);
    line-height: 1.3;
  }

  .sm\:h5 {
    font-size: var(--text-h5);
    line-height: 1.4;
  }

  .sm\:h6 {
    font-size: var(--text-h6);
    line-height: 1.4;
  }
}

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

.break-all {
  overflow-wrap: anywhere;
}

.hyphenate {
  -webkit-hyphens: auto;
  hyphens: auto;
}

.truncate-text {
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 100%;
  overflow: hidden;
}

.line-clamp {
  -webkit-line-clamp: var(--line-clamp-count, 2);
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}


/* --- Inizio Codice Effetto Glow WellnessTechnova (Corretto per Impact) --- */
.product-card-wrapper .card {
  transition: box-shadow 0.3s ease-in-out;
}

.product-card-wrapper:hover .card {
  box-shadow: 0 0 20px 7px #00FFFF;
}
/* --- Fine Codice Effetto Glow WellnessTechnova --- */


/* ========================================
   WELLNESSTECHNOVA - BORDI VIOLA FAQ
   ======================================== */

/* Tutti i possibili contenitori accordion */
.accordion,
details,
.collapsible-content,
.collapsible-row {
  background-color: #000000 !important;
  border: 2px solid #4B0082 !important;
  border-radius: 12px;
  margin-bottom: 20px;
  padding: 24px;
  transition: all 0.3s ease;
  box-shadow: 0 0 20px rgba(75, 0, 130, 0.5);
}

/* Effetto hover */
.accordion:hover,
details:hover,
.collapsible-row:hover {
  border-color: #00FFFF !important;
  box-shadow: 0 0 30px rgba(0, 255, 255, 0.7);
  transform: translateY(-3px);
}

/* Titoli */
summary,
.accordion-title {
  color: #E0E0E0 !important;
  font-weight: 600;
  cursor: pointer;
}

summary:hover {
  color: #00FFFF !important;
}

/* Contenuto */
.accordion-content {
  color: #969696 !important;
  padding-top: 16px;
  line-height: 1.7;
}

/* Titolo sezione principale */
.section-header h2,
.accordion-heading {
  color: #00FFFF !important;
  text-shadow: 0 0 15px rgba(0, 255, 255, 0.6);
}

/* Stato aperto */
details[open] {
  border-color: #00FFFF !important;
  box-shadow: 0 0 35px rgba(0, 255, 255, 0.8);
}


/* ========================================
   RIQUADRI TESTO FAQ - BORDO VIOLA
   ======================================== */

/* Contenitore sezioni testo FAQ */
.collapsible-content__wrapper,
.accordion-content,
.rte-wrapper,
.faq-text-section {
  background-color: #000000 !important;
  border: 2px solid #4B0082 !important;
  border-radius: 12px;
  padding: 30px;
  margin-bottom: 30px;
  box-shadow: 0 0 20px rgba(75, 0, 130, 0.5);
}

/* Titoli delle sezioni (ORDINI E SPEDIZIONI, PRODOTTI E TECNOLOGIA) */
.collapsible-content h3,
.accordion-content h3,
.faq-section h3 {
  color: #4B0082 !important;
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 2px solid #4B0082;
}

/* Paragrafi di testo */
.collapsible-content p,
.accordion-content p {
  color: #E0E0E0 !important;
  line-height: 1.8;
  margin-bottom: 16px;
}

/* Link nel testo */
.collapsible-content a,
.accordion-content a {
  color: #00FFFF !important;
  text-decoration: underline;
  transition: color 0.3s ease;
}

.collapsible-content a:hover,
.accordion-content a:hover {
  color: #4B0082 !important;
}

/* Se il testo è dentro un contenitore specifico */
.collapsible-row__content,
.accordion__body {
  background-color: #000000 !important;
  border: 2px solid #4B0082 !important;
  border-radius: 12px;
  padding: 30px;
  margin-top: 20px;
  box-shadow: 0 0 20px rgba(75, 0, 130, 0.5);
}


/* CSS UNIVERSALE per tutti i riquadri di testo */
.collapsible-content,
.collapsible-content__wrapper,
.collapsible-row__content,
.accordion-content,
.accordion__body,
.rte,
[class*="faq"]: # "> div,"
[class*="collapsible"]: # "> div {"
  background-color: #000000 !important;
  border: 2px solid #4B0082 !important;
  border-radius: 12px;
  padding: 30px !important;
  margin-bottom: 20px;
  box-shadow: 0 0 20px rgba(75, 0, 130, 0.5);
}


/* Versione con selettori di posizione */
.shopify-section > .page-width > div,
.shopify-section > div > div > div {
  background-color: #000000 !important;
  border: 2px solid #4B0082 !important;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 20px;
  box-shadow: 0 0 20px rgba(75, 0, 130, 0.5);
}

/* ========================================
   SOLO RIQUADRI TESTO FAQ - VERSIONE PRECISA
   ======================================== */

/* Rimuovi il CSS precedente troppo generico e usa questo */

/* Solo i div che contengono direttamente i titoli H3 delle categorie FAQ */
.collapsible-content__wrapper,
.collapsible-content-wrapper,
[class*="collapsible"]: # "> div > div:has(> h3) {"
  background-color: #000000 !important;
  border: 2px solid #4B0082 !important;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 20px;
  box-shadow: 0 0 20px rgba(75, 0, 130, 0.5);
}

/* ========================================
   BORDI VIOLA - SOLO TESTO FAQ
   ======================================== */

/* Applica bordo SOLO ai contenitori che hanno la classe collapsible-content */
.collapsible-content-wrapper-outer,
.collapsible-content__wrapper,
div.collapsible-content {
  background-color: #000000 !important;
  border: 2px solid #4B0082 !important;
  border-radius: 12px;
  padding: 30px !important;
  margin-bottom: 25px !important;
  box-shadow: 0 0 20px rgba(75, 0, 130, 0.5) !important;
}

/* Titoli H3 dentro la sezione FAQ */
.collapsible-content h3 {
  color: #4B0082 !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 2px solid #4B0082;
}

/* Paragrafi dentro la sezione FAQ */
.collapsible-content p {
  color: #E0E0E0 !important;
  line-height: 1.8;
  margin-bottom: 16px;
}

/* ========================================
   BORDI VIOLA - SOLO TESTO FAQ (DEFINITIVO)
   ======================================== */

/* Contenitore principale del testo FAQ */
#shopify-section-template--27534271250764__section-18 .prose {
  background-color: #000000 !important;
  border: 2px solid #4B0082 !important;
  border-radius: 12px;
  padding: 30px !important;
  margin-bottom: 25px !important;
  box-shadow: 0 0 20px rgba(75, 0, 130, 0.5) !important;
}

/* Versione generica per tutte le sezioni FAQ (se hai più pagine FAQ) */
section[id*="section-18"] .prose,
.shopify-section--faq .prose {
  background-color: #000000 !important;
  border: 2px solid #4B0082 !important;
  border-radius: 12px;
  padding: 30px !important;
  margin-bottom: 25px !important;
  box-shadow: 0 0 20px rgba(75, 0, 130, 0.5) !important;
}

/* Titoli H3 dentro il testo FAQ - MAGENTA LED #EC00FF */
#shopify-section-template--27534271250764__section-18 .prose h3,
section[id*="section-18"] .prose h3 {
  color: #EC00FF !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 2px solid #EC00FF;
  text-shadow: 0 0 15px rgba(236, 0, 255, 0.8), 0 0 30px rgba(236, 0, 255, 0.5);
}

/* Paragrafi dentro il testo FAQ */
#shopify-section-template--27534271250764__section-18 .prose p,
section[id*="section-18"] .prose p {
  color: #E0E0E0 !important;
  line-height: 1.8;
  margin-bottom: 16px;
}

/* Testo in grassetto dentro i paragrafi - MAGENTA LED #EC00FF */
#shopify-section-template--27534271250764__section-18 .prose strong,
#shopify-section-template--27534271250764__section-18 .prose b,
section[id*="section-18"] .prose strong,
section[id*="section-18"] .prose b {
  color: #EC00FF !important;
  font-weight: 700;
  text-shadow: 0 0 10px rgba(236, 0, 255, 0.6);
}

/* Assicurati che NON si applichi ad altre sezioni */
section:not([id*="section-18"]) .prose {
  border: none !important;
  box-shadow: none !important;
}


/* ========================================
   TITOLO FAQ - EFFETTO GLITCH + PULSAZIONE LED
   ======================================== */

/* Titolo principale "DOMANDE FREQUENTI (FAQ)" */
#shopify-section-template--27534271250764__section-18 h2.h2,
section[id*="section-18"] h2.h2 {
  color: #EC00FF !important;
  font-size: 48px !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: 3px;
  position: relative;
  display: inline-block;
  animation: glowPulse 3s ease-in-out infinite, textGlitch 5s infinite;
  text-shadow: 
    0 0 10px rgba(236, 0, 255, 0.8),
    0 0 20px rgba(236, 0, 255, 0.6),
    0 0 30px rgba(236, 0, 255, 0.4),
    0 0 40px rgba(236, 0, 255, 0.2);
}

/* Effetto glitch - layer sovrapposti */
#shopify-section-template--27534271250764__section-18 h2.h2::before,
section[id*="section-18"] h2.h2::before {
  content: attr(data-text);
  position: absolute;
  left: -2px;
  top: 0;
  color: #00FFFF;
  opacity: 0.8;
  animation: glitchLeft 2s infinite;
  text-shadow: 2px 0 #00FFFF;
  clip-path: polygon(0 0, 100% 0, 100% 45%, 0 45%);
}

#shopify-section-template--27534271250764__section-18 h2.h2::after,
section[id*="section-18"] h2.h2::after {
  content: attr(data-text);
  position: absolute;
  left: 2px;
  top: 0;
  color: #FF00FF;
  opacity: 0.8;
  animation: glitchRight 3s infinite;
  text-shadow: -2px 0 #FF00FF;
  clip-path: polygon(0 55%, 100% 55%, 100% 100%, 0 100%);
}

/* Animazione pulsazione glow */
@keyframes glowPulse {
  0%, 100% {
    text-shadow: 
      0 0 10px rgba(236, 0, 255, 0.8),
      0 0 20px rgba(236, 0, 255, 0.6),
      0 0 30px rgba(236, 0, 255, 0.4),
      0 0 40px rgba(236, 0, 255, 0.2);
  }
  50% {
    text-shadow: 
      0 0 20px rgba(236, 0, 255, 1),
      0 0 30px rgba(236, 0, 255, 0.8),
      0 0 40px rgba(236, 0, 255, 0.6),
      0 0 60px rgba(236, 0, 255, 0.4),
      0 0 80px rgba(236, 0, 255, 0.2);
  }
}

/* Animazione glitch principale */
@keyframes textGlitch {
  0%, 90%, 100% {
    transform: translate(0);
  }
  91% {
    transform: translate(-2px, 2px);
  }
  92% {
    transform: translate(2px, -2px);
  }
  93% {
    transform: translate(-2px, 2px);
  }
  94% {
    transform: translate(0);
  }
}

/* Animazione glitch layer sinistro */
@keyframes glitchLeft {
  0%, 90%, 100% {
    left: -2px;
    opacity: 0.8;
  }
  91% {
    left: -5px;
    opacity: 1;
  }
  92% {
    left: -2px;
    opacity: 0.6;
  }
  93% {
    left: -4px;
    opacity: 0.9;
  }
}

/* Animazione glitch layer destro */
@keyframes glitchRight {
  0%, 90%, 100% {
    left: 2px;
    opacity: 0.8;
  }
  91% {
    left: 5px;
    opacity: 1;
  }
  92% {
    left: 2px;
    opacity: 0.6;
  }
  93% {
    left: 4px;
    opacity: 0.9;
  }
}

/* Responsive mobile */
@media (max-width: 768px) {
  #shopify-section-template--27534271250764__section-18 h2.h2,
  section[id*="section-18"] h2.h2 {
    font-size: 32px !important;
  }
}


/* ========================================
   PARAGRAFI FAQ - EFFETTO MATERIALIZZAZIONE SCROLL
   ======================================== */

/* Paragrafi dentro il testo FAQ - stato iniziale invisibile */
#shopify-section-template--27534271250764__section-18 .prose p,
section[id*="section-18"] .prose p {
  color: #E0E0E0 !important;
  line-height: 1.8;
  margin-bottom: 16px;
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.8s ease-out forwards;
  animation-play-state: paused;
}

/* Attiva animazione quando l'elemento è visibile */
#shopify-section-template--27534271250764__section-18 .prose p.visible,
section[id*="section-18"] .prose p.visible {
  animation-play-state: running;
}

/* Ritardo progressivo per ogni paragrafo */
#shopify-section-template--27534271250764__section-18 .prose p:nth-child(1),
section[id*="section-18"] .prose p:nth-child(1) {
  animation-delay: 0s;
}

#shopify-section-template--27534271250764__section-18 .prose p:nth-child(2),
section[id*="section-18"] .prose p:nth-child(2) {
  animation-delay: 0.15s;
}

#shopify-section-template--27534271250764__section-18 .prose p:nth-child(3),
section[id*="section-18"] .prose p:nth-child(3) {
  animation-delay: 0.3s;
}

#shopify-section-template--27534271250764__section-18 .prose p:nth-child(4),
section[id*="section-18"] .prose p:nth-child(4) {
  animation-delay: 0.45s;
}

#shopify-section-template--27534271250764__section-18 .prose p:nth-child(5),
section[id*="section-18"] .prose p:nth-child(5) {
  animation-delay: 0.6s;
}

/* Animazione fade-in dal basso */
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
    filter: blur(5px);
  }
  50% {
    opacity: 0.5;
    transform: translateY(15px);
    filter: blur(2px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

/* Effetto typewriter sui paragrafi */
#shopify-section-template--27534271250764__section-18 .prose p,
section[id*="section-18"] .prose p {
  overflow: hidden;
  white-space: normal;
  position: relative;
}

/* Cursore lampeggiante durante la materializzazione */
#shopify-section-template--27534271250764__section-18 .prose p::after,
section[id*="section-18"] .prose p::after {
  content: '';
  position: absolute;
  right: 0;
  width: 2px;
  height: 1em;
  background-color: #EC00FF;
  animation: blink 0.7s step-end infinite, fadeOutCursor 0.5s ease-out 0.8s forwards;
  opacity: 0;
}

#shopify-section-template--27534271250764__section-18 .prose p.visible::after,
section[id*="section-18"] .prose p.visible::after {
  opacity: 1;
}

/* Animazione cursore lampeggiante */
@keyframes blink {
  0%, 50% {
    opacity: 1;
  }
  51%, 100% {
    opacity: 0;
  }
}

/* Cursore scompare dopo la materializzazione */
@keyframes fadeOutCursor {
  to {
    opacity: 0;
  }
}

/* Testo in grassetto con effetto highlight */
#shopify-section-template--27534271250764__section-18 .prose strong,
#shopify-section-template--27534271250764__section-18 .prose b,
section[id*="section-18"] .prose strong,
section[id*="section-18"] .prose b {
  color: #EC00FF !important;
  font-weight: 700;
  text-shadow: 0 0 10px rgba(236, 0, 255, 0.6);
  position: relative;
  display: inline-block;
}

/* Effetto scan quando il testo appare */
#shopify-section-template--27534271250764__section-18 .prose strong::before,
section[id*="section-18"] .prose strong::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(236, 0, 255, 0.3), transparent);
  animation: scanText 1.5s ease-out;
  opacity: 0;
}

#shopify-section-template--27534271250764__section-18 .prose p.visible strong::before,
section[id*="section-18"] .prose p.visible strong::before {
  animation: scanText 1.5s ease-out;
}

@keyframes scanText {
  0% {
    transform: translateX(-100%);
    opacity: 1;
  }
  100% {
    transform: translateX(100%);
    opacity: 0;
  }
}

/* ========================================
   TITOLI H3 FAQ - CIANO → MAGENTA AL HOVER + SCAN LINE
   ======================================== */

/* Titoli H3 (ORDINI E SPEDIZIONI, PRODOTTI E TECNOLOGIA, RESI E GARANZIE) */
#shopify-section-template--27534271250764__section-18 .prose h3,
section[id*="section-18"] .prose h3 {
  color: #00FFFF !important; /* CIANO di default */
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  margin-bottom: 20px !important;
  padding-bottom: 15px !important;
  border-bottom: 2px solid #00FFFF !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: all 0.4s ease !important;
  text-shadow: 
    0 0 15px rgba(0, 255, 255, 0.8), 
    0 0 30px rgba(0, 255, 255, 0.5) !important;
  box-shadow: 0 2px 15px rgba(0, 255, 255, 0.5) !important;
}

/* HOVER: Diventa MAGENTA */
#shopify-section-template--27534271250764__section-18 .prose h3:hover,
section[id*="section-18"] .prose h3:hover {
  color: #EC00FF !important; /* MAGENTA al hover */
  border-bottom-color: #EC00FF !important;
  text-shadow: 
    0 0 20px rgba(236, 0, 255, 1),
    0 0 30px rgba(236, 0, 255, 0.8),
    0 0 40px rgba(236, 0, 255, 0.5) !important;
  box-shadow: 0 2px 25px rgba(236, 0, 255, 0.8) !important;
  transform: translateX(5px) !important;
}

/* Scan line animata VISIBILE che scorre */
#shopify-section-template--27534271250764__section-18 .prose h3::before,
section[id*="section-18"] .prose h3::before {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: -100% !important;
  width: 100% !important;
  height: 4px !important; /* Più spessa per essere visibile */
  background: linear-gradient(
    90deg,
    transparent,
    rgba(0, 255, 255, 0.3) 20%,
    rgba(0, 255, 255, 1) 50%,
    rgba(0, 255, 255, 0.3) 80%,
    transparent
  ) !important;
  animation: scanLineMove 4s linear infinite !important;
  box-shadow: 
    0 0 15px rgba(0, 255, 255, 1),
    0 0 25px rgba(0, 255, 255, 0.6) !important;
  z-index: 10 !important;
  filter: blur(1px) !important;
}

/* HOVER: Scan line diventa magenta */
#shopify-section-template--27534271250764__section-18 .prose h3:hover::before,
section[id*="section-18"] .prose h3:hover::before {
  background: linear-gradient(
    90deg,
    transparent,
    rgba(236, 0, 255, 0.3) 20%,
    rgba(236, 0, 255, 1) 50%,
    rgba(236, 0, 255, 0.3) 80%,
    transparent
  ) !important;
  box-shadow: 
    0 0 15px rgba(236, 0, 255, 1),
    0 0 25px rgba(236, 0, 255, 0.6) !important;
}

/* Animazione scan line che si muove */
@keyframes scanLineMove {
  0% {
    left: -100%;
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    left: 100%;
    opacity: 0;
  }
}

/* ========================================
   TUTTI I TITOLI DEL SITO - CIANO → MAGENTA
   ======================================== */

/* H1, H2, H3, H4, H5, H6 in tutto il sito */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  color: #00FFFF !important; /* CIANO di default */
  transition: all 0.4s ease !important;
  cursor: pointer !important;
  text-shadow: 0 0 10px rgba(0, 255, 255, 0.6) !important;
}

/* HOVER: Tutti i titoli diventano MAGENTA */
h1:hover, h2:hover, h3:hover, h4:hover, h5:hover, h6:hover,
.h1:hover, .h2:hover, .h3:hover, .h4:hover, .h5:hover, .h6:hover {
  color: #EC00FF !important; /* MAGENTA al hover */
  text-shadow: 
    0 0 15px rgba(236, 0, 255, 1),
    0 0 25px rgba(236, 0, 255, 0.6) !important;
  transform: translateX(3px) !important;
}

/* Titoli con bordo inferiore */
h1, h2, h3, h4, h5, h6 {
  position: relative !important;
}

h1::after, h2::after, h3::after, h4::after, h5::after, h6::after {
  content: '' !important;
  position: absolute !important;
  bottom: -5px !important;
  left: 0 !important;
  width: 0% !important;
  height: 2px !important;
  background: linear-gradient(90deg, #00FFFF, #EC00FF) !important;
  transition: width 0.4s ease !important;
  box-shadow: 0 0 10px rgba(0, 255, 255, 0.8) !important;
}

h1:hover::after, h2:hover::after, h3:hover::after, 
h4:hover::after, h5:hover::after, h6:hover::after {
  width: 100% !important;
}

/* ========================================
   TITOLO PRINCIPALE FAQ - MANTIENI MAGENTA
   ======================================== */

/* Titolo "DOMANDE FREQUENTI (FAQ)" resta magenta */
#shopify-section-template--27534271250764__section-18 h2.h2,
section[id*="section-18"] h2.h2 {
  color: #EC00FF !important; /* MAGENTA fisso */
  font-size: 48px !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: 3px;
  position: relative;
  display: inline-block;
  animation: glowPulse 3s ease-in-out infinite, textGlitch 5s infinite;
  text-shadow: 
    0 0 10px rgba(236, 0, 255, 0.8),
    0 0 20px rgba(236, 0, 255, 0.6),
    0 0 30px rgba(236, 0, 255, 0.4),
    0 0 40px rgba(236, 0, 255, 0.2) !important;
}

/* Hover sul titolo principale - resta magenta ma si illumina di più */
#shopify-section-template--27534271250764__section-18 h2.h2:hover,
section[id*="section-18"] h2.h2:hover {
  color: #EC00FF !important;
  text-shadow: 
    0 0 25px rgba(236, 0, 255, 1),
    0 0 35px rgba(236, 0, 255, 0.8),
    0 0 50px rgba(236, 0, 255, 0.6) !important;
}

@keyframes glowPulse {
  0%, 100% {
    text-shadow: 
      0 0 10px rgba(236, 0, 255, 0.8),
      0 0 20px rgba(236, 0, 255, 0.6),
      0 0 30px rgba(236, 0, 255, 0.4),
      0 0 40px rgba(236, 0, 255, 0.2);
  }
  50% {
    text-shadow: 
      0 0 20px rgba(236, 0, 255, 1),
      0 0 30px rgba(236, 0, 255, 0.8),
      0 0 40px rgba(236, 0, 255, 0.6),
      0 0 60px rgba(236, 0, 255, 0.4),
      0 0 80px rgba(236, 0, 255, 0.2);
  }
}

@keyframes textGlitch {
  0%, 90%, 100% {
    transform: translate(0);
  }
  91% {
    transform: translate(-2px, 2px);
  }
  92% {
    transform: translate(2px, -2px);
  }
  93% {
    transform: translate(-2px, 2px);
  }
  94% {
    transform: translate(0);
  }
}

@media (max-width: 768px) {
  #shopify-section-template--27534271250764__section-18 h2.h2,
  section[id*="section-18"] h2.h2 {
    font-size: 32px !important;
  }
}

/* ========================================
   CARD PRODOTTO - EFFETTI NEON SENZA MODIFICARE LAYOUT
   ======================================== */

/* Card prodotto - stato base (solo effetti bordo) */
.product-card,
[class*="product-card"]: # "{"
  position: relative !important;
  transition: all 0.4s ease !important;
  cursor: pointer !important;
}

/* HOVER: Bordo ciano luminoso + sollevamento */
.product-card:hover,
[class*="product-card"]:hover {
  border-color: #00FFFF !important;
  box-shadow: 
    0 0 25px rgba(0, 255, 255, 0.8),
    0 0 50px rgba(0, 255, 255, 0.4),
    0 10px 40px rgba(0, 0, 0, 0.6) !important;
  transform: translateY(-8px) !important;
}

/* Linea neon che scorre sul bordo superiore */
.product-card::before {
  content: '' !important;
  position: absolute !important;
  top: -3px !important;
  left: -50% !important;
  width: 50% !important;
  height: 3px !important;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(0, 255, 255, 0.5),
    rgba(0, 255, 255, 1),
    rgba(0, 255, 255, 0.5),
    transparent
  ) !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
  box-shadow: 
    0 0 15px rgba(0, 255, 255, 1),
    0 0 30px rgba(0, 255, 255, 0.6) !important;
  z-index: 10 !important;
  pointer-events: none !important;
  filter: blur(1px) !important;
}

.product-card:hover::before {
  opacity: 1 !important;
  animation: lineTop 2s linear infinite !important;
}

@keyframes lineTop {
  0% {
    left: -50%;
  }
  100% {
    left: 150%;
  }
}

/* Linea neon che scorre sul bordo destro */
.product-card::after {
  content: '' !important;
  position: absolute !important;
  top: -50% !important;
  right: -3px !important;
  width: 3px !important;
  height: 50% !important;
  background: linear-gradient(
    180deg,
    transparent,
    rgba(0, 255, 255, 0.5),
    rgba(0, 255, 255, 1),
    rgba(0, 255, 255, 0.5),
    transparent
  ) !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
  box-shadow: 
    0 0 15px rgba(0, 255, 255, 1),
    0 0 30px rgba(0, 255, 255, 0.6) !important;
  z-index: 10 !important;
  pointer-events: none !important;
  filter: blur(1px) !important;
}

.product-card:hover::after {
  opacity: 1 !important;
  animation: lineRight 2s linear infinite !important;
  animation-delay: 0.5s !important;
}

@keyframes lineRight {
  0% {
    top: -50%;
  }
  100% {
    top: 150%;
  }
}

/* Glow pulsante generale sulla card */
.product-card:hover {
  animation: cardGlow 2s ease-in-out infinite !important;
}

@keyframes cardGlow {
  0%, 100% {
    box-shadow: 
      0 0 20px rgba(0, 255, 255, 0.6),
      0 0 40px rgba(0, 255, 255, 0.3),
      0 10px 40px rgba(0, 0, 0, 0.6);
  }
  50% {
    box-shadow: 
      0 0 35px rgba(0, 255, 255, 1),
      0 0 60px rgba(0, 255, 255, 0.6),
      0 12px 50px rgba(0, 0, 0, 0.7);
  }
}

/* ========================================
   TITOLO PRODOTTO - NERO SENZA EFFETTI
   ======================================== */

/* Titolo prodotto - nero pulito senza glow */
.product-card:hover .product-card__title,
.product-card:hover h3,
.product-card:hover h2,
.product-card:hover [class*="title"] {
  color: #000000 !important;
  text-shadow: none !important;
}

/* ========================================
   PREZZO - EFFETTO GLOW MAGENTA PULSANTE
   ======================================== */

/* Prezzo - effetto glow magenta */
.product-card:hover .price,
.product-card:hover [class*="price"],
.product-card:hover .product-card__price {
  color: #EC00FF !important;
  font-weight: 700 !important;
  animation: priceGlow 1.5s ease-in-out infinite !important;
}

@keyframes priceGlow {
  0%, 100% {
    text-shadow: 
      0 0 15px rgba(236, 0, 255, 0.8),
      0 0 30px rgba(236, 0, 255, 0.4);
    filter: brightness(1);
  }
  50% {
    text-shadow: 
      0 0 25px rgba(236, 0, 255, 1),
      0 0 45px rgba(236, 0, 255, 0.8),
      0 0 60px rgba(236, 0, 255, 0.5);
    filter: brightness(1.3);
  }
}

/* ========================================
   IMMAGINE PRODOTTO - ZOOM LEGGERO
   ======================================== */

/* Immagine prodotto - zoom + brightness */
.product-card:hover img,
.product-card:hover .product-card__image img,
.product-card:hover [class*="image"] img {
  transform: scale(1.05) !important;
  filter: brightness(1.1) !important;
  transition: all 0.5s ease !important;
}

/* ========================================
   BADGE - EFFETTO PULSE
   ======================================== */

/* Badge "Esaurito" - effetto pulse */
.product-card:hover .badge,
.product-card:hover [class*="badge"] {
  background: linear-gradient(135deg, #EC00FF, #00FFFF) !important;
  animation: badgeGlow 1.5s ease-in-out infinite !important;
}

@keyframes badgeGlow {
  0%, 100% {
    box-shadow: 
      0 0 15px rgba(236, 0, 255, 0.6),
      0 4px 15px rgba(0, 0, 0, 0.4);
  }
  50% {
    box-shadow: 
      0 0 30px rgba(236, 0, 255, 1),
      0 6px 20px rgba(0, 0, 0, 0.5);
  }
}

/* ========================================
   STATISTICHE - SOLO NUMERI +94%, 67%, -89%
   ======================================== */

/* Selettore più specifico per evitare conflitti */
.impact-text .text-gradient,
.snap-center .text-gradient,
section[id*="section-12"] .text-gradient {
  position: relative !important;
  display: inline-block !important;
  font-size: 72px !important;
  font-weight: 900 !important;
  transition: all 0.5s ease !important;
  animation: statsGlow 3s ease-in-out infinite !important;
}

@keyframes statsGlow {
  0%, 100% {
    filter: brightness(1) drop-shadow(0 0 10px currentColor);
  }
  50% {
    filter: brightness(1.3) drop-shadow(0 0 25px currentColor) drop-shadow(0 0 40px currentColor);
  }
}

/* Particelle fluttuanti - SOLO su statistiche */
.impact-text .text-gradient::before,
.snap-center .text-gradient::before {
  content: '✦' !important;
  position: absolute !important;
  top: -20px !important;
  left: -30px !important;
  font-size: 16px !important;
  color: #00FFFF !important;
  opacity: 0.6 !important;
  animation: particle1 4s ease-in-out infinite !important;
  text-shadow: 0 0 10px #00FFFF !important;
  pointer-events: none !important;
}

.impact-text .text-gradient::after,
.snap-center .text-gradient::after {
  content: '✦' !important;
  position: absolute !important;
  bottom: -20px !important;
  right: -30px !important;
  font-size: 16px !important;
  color: #EC00FF !important;
  opacity: 0.6 !important;
  animation: particle2 4s ease-in-out infinite !important;
  text-shadow: 0 0 10px #EC00FF !important;
  pointer-events: none !important;
}

@keyframes particle1 {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
    opacity: 0.3;
  }
  25% {
    transform: translate(-10px, -15px) rotate(90deg);
    opacity: 0.8;
  }
  50% {
    transform: translate(-5px, -25px) rotate(180deg);
    opacity: 0.5;
  }
  75% {
    transform: translate(-15px, -10px) rotate(270deg);
    opacity: 0.7;
  }
}

@keyframes particle2 {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
    opacity: 0.3;
  }
  25% {
    transform: translate(15px, 10px) rotate(-90deg);
    opacity: 0.7;
  }
  50% {
    transform: translate(10px, 20px) rotate(-180deg);
    opacity: 0.5;
  }
  75% {
    transform: translate(20px, 5px) rotate(-270deg);
    opacity: 0.8;
  }
}

/* Etichette sotto i numeri */
.impact-text h2,
h2.impact-text__text {
  color: #00FFFF !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  margin-top: 15px !important;
  animation: labelGlow 2s ease-in-out infinite !important;
}

@keyframes labelGlow {
  0%, 100% {
    text-shadow: 
      0 0 10px rgba(0, 255, 255, 0.6),
      0 0 20px rgba(0, 255, 255, 0.3);
  }
  50% {
    text-shadow: 
      0 0 20px rgba(0, 255, 255, 1),
      0 0 35px rgba(0, 255, 255, 0.6);
  }
}

/* Contenitore statistiche */
.impact-text,
.snap-center {
  position: relative !important;
  padding: 30px !important;
  transition: all 0.4s ease !important;
}

/* Hover su singola statistica */
.impact-text:hover,
.snap-center:hover {
  transform: scale(1.08) !important;
}

.impact-text:hover .text-gradient,
.snap-center:hover .text-gradient {
  animation: statsGlowHover 1s ease-in-out infinite !important;
}

@keyframes statsGlowHover {
  0%, 100% {
    filter: brightness(1.2) drop-shadow(0 0 20px currentColor);
  }
  50% {
    filter: brightness(1.6) drop-shadow(0 0 40px currentColor) drop-shadow(0 0 60px currentColor);
  }
}

/* Responsive mobile */
@media (max-width: 768px) {
  .impact-text .text-gradient,
  .snap-center .text-gradient {
    font-size: 48px !important;
  }
  
  .impact-text h2,
  h2.impact-text__text {
    font-size: 18px !important;
  }
}

/* ESCLUDI esplicitamente altri .text-gradient */
.text-gradient:not(.impact-text .text-gradient):not(.snap-center .text-gradient) {
  animation: none !important;
}

.text-gradient:not(.impact-text .text-gradient):not(.snap-center .text-gradient)::before,
.text-gradient:not(.impact-text .text-gradient):not(.snap-center .text-gradient)::after {
  display: none !important;
}

/* ========================================
   BOTTONI CTA UNIVERSALI - WELLNESSTECHNOVA
   Funziona per <button> E <a> (link)
   Posizionamento corretto senza coprire testo
   ======================================== */

/* ========================================
   1. POSIZIONAMENTO SLIDESHOW
   ======================================== */

/* Sposta il container in basso - MOLTO PIÙ AGGRESSIVO */
.slideshow .place-self-center,
.slideshow__slide .place-self-center,
div.place-self-center.text-center {
  place-self: end center !important;
  align-self: flex-end !important;
  justify-self: center !important;
  padding-bottom: 80px !important;
  margin-bottom: 0 !important;
}

@media (max-width: 1024px) {
  .slideshow .place-self-center,
  .slideshow__slide .place-self-center,
  div.place-self-center.text-center {
    padding-bottom: 60px !important;
  }
}

@media (max-width: 768px) {
  .slideshow .place-self-center,
  .slideshow__slide .place-self-center,
  div.place-self-center.text-center {
    padding-bottom: 40px !important;
  }
}

/* ========================================
   2. STYLING BOTTONE CTA - UNIVERSALE
   Funziona per <button> E <a>
   ======================================== */

.prose button.button,
.prose button.button--xl,
.prose a.button,
.prose a.button--xl,
button.button[is="custom-button"],
a.button.button--xl {
  /* Layout */
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  overflow: visible !important;
  
  /* Dimensioni */
  padding: 20px 50px !important;
  min-width: 250px !important;
  min-height: auto !important;
  height: auto !important;
  
  /* Tipografia */
  font-family: 'Rajdhani', 'Orbitron', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  color: #000000 !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  
  /* Background */
  background: linear-gradient(135deg, #00FFFF 0%, #00D4D4 50%, #EC00FF 100%) !important;
  background-color: transparent !important;
  border: 3px solid transparent !important;
  border-radius: 12px !important;
  
  /* Effetti */
  box-shadow: 
    0 0 25px rgba(0, 255, 255, 0.7),
    0 0 50px rgba(236, 0, 255, 0.5),
    0 6px 20px rgba(0, 0, 0, 0.4),
    inset 0 0 25px rgba(255, 255, 255, 0.3) !important;
  
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  cursor: pointer !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Testo dentro il bottone/link */
.prose button.button *,
.prose a.button * {
  position: relative !important;
  z-index: 2 !important;
  color: #000000 !important;
}

/* ========================================
   3. BORDO ANIMATO
   ======================================== */

.prose button.button::before,
.prose a.button::before,
button.button[is="custom-button"]::before,
a.button.button--xl::before {
  content: '' !important;
  position: absolute !important;
  top: -4px !important;
  left: -4px !important;
  right: -4px !important;
  bottom: -4px !important;
  background: linear-gradient(135deg, #00FFFF, #EC00FF, #00FFFF) !important;
  background-size: 200% 200% !important;
  border-radius: 14px !important;
  z-index: 0 !important;
  animation: borderPulse 3s ease-in-out infinite !important;
  pointer-events: none !important;
}

@keyframes borderPulse {
  0%, 100% { 
    background-position: 0% 50%;
    opacity: 0.7;
  }
  50% { 
    background-position: 100% 50%;
    opacity: 1;
  }
}

/* ========================================
   4. ANGOLI LUMINOSI
   ======================================== */

.prose button.button::after,
.prose a.button::after,
button.button[is="custom-button"]::after,
a.button.button--xl::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 30px !important;
  height: 30px !important;
  border-top: 3px solid #00FFFF !important;
  border-left: 3px solid #00FFFF !important;
  border-radius: 12px 0 0 0 !important;
  animation: cornerGlow 2s ease-in-out infinite !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

@keyframes cornerGlow {
  0%, 100% {
    opacity: 0.5;
    box-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
  }
  50% {
    opacity: 1;
    box-shadow: 0 0 20px rgba(0, 255, 255, 1);
  }
}

/* ========================================
   5. HOVER
   ======================================== */

.prose button.button:hover,
.prose a.button:hover,
button.button[is="custom-button"]:hover,
a.button.button--xl:hover {
  transform: translateY(-6px) scale(1.05) !important;
  box-shadow: 
    0 0 40px rgba(0, 255, 255, 1),
    0 0 80px rgba(236, 0, 255, 0.9),
    0 10px 30px rgba(0, 0, 0, 0.5),
    inset 0 0 35px rgba(255, 255, 255, 0.5) !important;
  filter: brightness(1.3) !important;
  border-width: 4px !important;
}

/* ========================================
   6. ACTIVE
   ======================================== */

.prose button.button:active,
.prose a.button:active,
button.button[is="custom-button"]:active,
a.button.button--xl:active {
  transform: translateY(-3px) scale(1.02) !important;
  box-shadow: 
    0 0 60px rgba(0, 255, 255, 1),
    0 0 120px rgba(236, 0, 255, 1),
    0 6px 20px rgba(0, 0, 0, 0.6) !important;
}

/* ========================================
   7. PULSAZIONE
   ======================================== */

.prose button.button,
.prose a.button,
button.button[is="custom-button"],
a.button.button--xl {
  animation: ctaBreath 3s ease-in-out infinite !important;
}

@keyframes ctaBreath {
  0%, 100% {
    box-shadow: 
      0 0 25px rgba(0, 255, 255, 0.7),
      0 0 50px rgba(236, 0, 255, 0.5),
      0 6px 20px rgba(0, 0, 0, 0.4),
      inset 0 0 25px rgba(255, 255, 255, 0.3);
  }
  50% {
    box-shadow: 
      0 0 35px rgba(0, 255, 255, 0.9),
      0 0 70px rgba(236, 0, 255, 0.7),
      0 6px 20px rgba(0, 0, 0, 0.4),
      inset 0 0 30px rgba(255, 255, 255, 0.4);
  }
}

/* ========================================
   8. NASCONDI ELEMENTI EXTRA
   ======================================== */

.prose button.button .button__loader,
.prose a.button .button__loader {
  display: none !important;
}

/* ========================================
   9. RESPONSIVE
   ======================================== */

@media (max-width: 1024px) {
  .prose button.button,
  .prose a.button,
  button.button[is="custom-button"],
  a.button.button--xl {
    padding: 18px 45px !important;
    font-size: 17px !important;
    min-width: 220px !important;
  }
}

@media (max-width: 768px) {
  .prose button.button,
  .prose a.button,
  button.button[is="custom-button"],
  a.button.button--xl {
    padding: 16px 40px !important;
    font-size: 16px !important;
    min-width: 200px !important;
    letter-spacing: 1.5px !important;
  }
  
  .prose button.button::after,
  .prose a.button::after,
  button.button[is="custom-button"]::after,
  a.button.button--xl::after {
    display: none !important;
  }
}

/* ========================================
   10. ACCESSIBILITÀ
   ======================================== */

.prose button.button:focus-visible,
.prose a.button:focus-visible,
button.button[is="custom-button"]:focus-visible,
a.button.button--xl:focus-visible {
  outline: 4px solid #00FFFF !important;
  outline-offset: 6px !important;
}

@media (prefers-reduced-motion: reduce) {
  .prose button.button,
  .prose a.button,
  .prose button.button::before,
  .prose a.button::before,
  .prose button.button::after,
  .prose a.button::after {
    animation: none !important;
  }
  
  .prose button.button:hover,
  .prose a.button:hover {
    transform: none !important;
  }
}

/* ========================================
   FINE CSS UNIVERSALE
   ======================================== */

   /* ========================================
   FIX POSIZIONAMENTO + TESTO VISIBILE
   WellnessTechnova - Da incollare SOTTO il CSS principale
   
   ✅ Sposta bottone più in alto (non copre scritta)
   ✅ Testo bianco brillante (più visibile)
   ======================================== */

/* ========================================
   BOTTONE RIDOTTO CON FADE-IN CONTROLLATO DA JS
   WellnessTechnova - Sostituisce CSS precedente
   
   ✅ Bottone ridotto al 70% (meno ingombrante)
   ✅ Nascosto di default, appare con classe .cta-visible
   ✅ JavaScript controlla quando mostrare il bottone
   ✅ Testo NERO intenso VISIBILE
   ======================================== */

/* ========================================
   1. CONTENITORE - POSIZIONE RELATIVA
   ======================================== */

/* Contenitore con posizione relativa per contenere il bottone assoluto */
.slideshow .place-self-center,
.slideshow__slide .place-self-center,
div.place-self-center.text-center,
.place-self-center:has(.prose button.button),
.place-self-center:has(.prose a.button) {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ========================================
   2. BOTTONE - RIDOTTO + POSIZIONE + NASCOSTO
   ======================================== */

/* Bottone ridotto al 70% con posizione assoluta, nascosto di default */
.prose button.button,
.prose button.button--xl,
.prose a.button,
.prose a.button--xl,
button.button[is="custom-button"],
a.button.button--xl {
  position: absolute !important;
  bottom: 10px !important;
  left: 50% !important;
  transform: translateX(-50%) scale(0.7) translateY(10px) !important;
  transform-origin: center center !important;
  margin: 0 !important;
  z-index: 10 !important;
  
  /* Nascosto di default */
  opacity: 0 !important;
  pointer-events: none !important;
  
  /* Transizione per fade-in */
  transition: opacity 1s ease-in-out, transform 1s ease-in-out !important;
}

/* Bottone visibile quando ha classe .cta-visible */
.prose button.button.cta-visible,
.prose button.button--xl.cta-visible,
.prose a.button.cta-visible,
.prose a.button--xl.cta-visible,
button.button[is="custom-button"].cta-visible,
a.button.button--xl.cta-visible {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateX(-50%) scale(0.7) translateY(0) !important;
}

/* Responsive - scala ancora meno su schermi piccoli */
@media (max-width: 1024px) {
  .prose button.button,
  .prose button.button--xl,
  .prose a.button,
  .prose a.button--xl {
    transform: translateX(-50%) scale(0.65) translateY(10px) !important;
    bottom: 8px !important;
  }
  
  .prose button.button.cta-visible,
  .prose button.button--xl.cta-visible,
  .prose a.button.cta-visible,
  .prose a.button--xl.cta-visible {
    transform: translateX(-50%) scale(0.65) translateY(0) !important;
  }
}

@media (max-width: 768px) {
  .prose button.button,
  .prose button.button--xl,
  .prose a.button,
  .prose a.button--xl {
    transform: translateX(-50%) scale(0.6) translateY(10px) !important;
    bottom: 5px !important;
  }
  
  .prose button.button.cta-visible,
  .prose button.button--xl.cta-visible,
  .prose a.button.cta-visible,
  .prose a.button--xl.cta-visible {
    transform: translateX(-50%) scale(0.6) translateY(0) !important;
  }
}

/* ========================================
   3. TESTO NERO INTENSO VISIBILE
   ======================================== */

/* Testo principale del bottone - NERO con ombra RIDOTTA */
.prose button.button,
.prose button.button--xl,
.prose a.button,
.prose a.button--xl,
button.button[is="custom-button"],
a.button.button--xl {
  color: #000000 !important;
  font-weight: 900 !important;
  letter-spacing: 0.5px !important;
  text-shadow: 
    0 0 10px rgba(255, 255, 255, 0.4),
    0 1px 2px rgba(255, 255, 255, 0.6),
    1px 1px 1px rgba(255, 255, 255, 0.5) !important;
}

/* Tutti gli elementi di testo dentro il bottone */
.prose button.button *,
.prose a.button *,
button.button[is="custom-button"] *,
a.button.button--xl * {
  color: #000000 !important;
  font-weight: 900 !important;
  letter-spacing: 0.5px !important;
  text-shadow: 
    0 0 10px rgba(255, 255, 255, 0.4),
    0 1px 2px rgba(255, 255, 255, 0.6),
    1px 1px 1px rgba(255, 255, 255, 0.5) !important;
}

/* ========================================
   4. MAGGIORE CONTRASTO BOTTONE
   ======================================== */

/* Aumenta contrasto del gradiente per far risaltare il testo nero */
.prose button.button,
.prose button.button--xl,
.prose a.button,
.prose a.button--xl,
button.button[is="custom-button"],
a.button.button--xl {
  background: linear-gradient(135deg, 
    rgba(0, 255, 255, 0.95) 0%,     /* Ciano più intenso */
    rgba(128, 128, 255, 0.95) 50%,  /* Viola centrale */
    rgba(236, 0, 255, 0.95) 100%    /* Magenta più intenso */
  ) !important;
  filter: brightness(1.1) contrast(1.1) !important;
}

/* Hover - aumenta luminosità e scala leggermente */
.prose button.button.cta-visible:hover,
.prose button.button--xl.cta-visible:hover,
.prose a.button.cta-visible:hover,
.prose a.button--xl.cta-visible:hover {
  filter: brightness(1.2) contrast(1.15) !important;
  transform: translateX(-50%) scale(0.75) translateY(0) !important;
}

/* ========================================
   FINE CSS - BOTTONE CONTROLLATO DA JS
   ======================================== */

/* ============================================
   WELLNESSTECHNOVA - PRODUCTS FIX V3
   Fix: immagini NON distorte, testo leggibile
   ============================================ */

/* ============================================
   1. PRODUCT CARDS - STRUTTURA BASE
   ============================================ */

/* Product card container */
.product-card,
.card,
.product-item,
.product-card-wrapper,
[class*="product-card"],
.card {
  overflow: hidden !important;
}
  background: #000000 !important;
  border: 2px solid #EC00FF !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 0 20px rgba(236, 0, 255, 0.4) !important;
  transition: all 0.4s ease !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Hover effect */
.product-card:hover,
.card:hover,
.product-item:hover {
  box-shadow: 
    0 0 30px rgba(236, 0, 255, 0.6),
    0 0 60px rgba(236, 0, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ============================================
   2. IMMAGINI - NON DISTORTE (VERTICALE)
   ============================================ */

/* Area immagine - ALTEZZA AUTO (non fissa) */
.product-card__figure,
.product-card__media,
.card__media,
.card__figure,
.product-item__image-wrapper,
[class*="product"]__media {
  overflow: hidden !important;
}
  background: #000000 !important;
  width: 100% !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
}

/* Immagine - CONTAIN (non distorta) */
.product-card img,
.card img,
.product-item img,
.product-card__media img,
.card__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  transition: transform 0.4s ease !important;
  opacity: 1 !important;
  filter: none !important;
}

/* Zoom su hover - Leggero */
.product-card:hover img,
.card:hover img,
.product-item:hover img {
  transform: scale(1.05) !important;
}

/* ============================================
   3. AREA INFO - BIANCA CON TESTO NERO
   ============================================ */

/* Area info - BIANCA */
.product-card__info,
.product-card-info,
.card__info,
.card-info,
.card__content,
.product-item__info,
.product-item-meta,
.product-card__content,
[class*="product-card"]__info,
[class*="card"]__info {
  background: #ffffff !important;
  padding: 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

/* Titolo prodotto - NERO su bianco */
.product-card__title,
.card__title,
.product-item__title,
.product-item-meta__title,
h3.product-card__title,
h3.card__title,
.product-card__info h3,
.card__info h3,
[class*="product"]__title,
[class*="card"]__title {
  color: #000000 !important;
  font-weight: 700 !important;
  font-size: 1em !important;
  line-height: 1.4 !important;
  margin: 0 0 10px 0 !important;
  text-shadow: none !important;
  background: transparent !important;
}

/* Descrizione - GRIGIO SCURO su bianco */
.product-card__description,
.card__description,
.product-item__description,
.product-card__info p,
.card__info p {
  color: #333333 !important;
  font-size: 0.9em !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

/* Vendor/brand - GRIGIO su bianco */
.product-card__vendor,
.card__vendor,
.product-item__vendor {
  color: #666666 !important;
  font-size: 0.85em !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
}

/* ============================================
   4. PREZZO - CIANO PULSANTE
   ============================================ */

/* Prezzo - CIANO con effetto pulsante */
.product-card__price,
.card__price,
.product-item__price,
.price,
.product-card__info .price,
.card__info .price,
[class*="price"],
.product-item-meta__price,
.price__regular,
.price__sale,
.price-item,
.price-list {
  color: #00FFFF !important;
  font-weight: 900 !important;
  font-size: 1.3em !important;
  text-shadow: 
    0 0 10px rgba(0, 255, 255, 0.6),
    0 0 20px rgba(0, 255, 255, 0.4) !important;
  animation: price-pulse-cyan 2s ease-in-out infinite !important;
  display: inline-block !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  background: rgba(0, 255, 255, 0.15) !important;
  border: 2px solid rgba(0, 255, 255, 0.4) !important;
  margin-top: 5px !important;
}

/* Animazione pulsante prezzo CIANO */
@keyframes price-pulse-cyan {
  0%, 100% {
    text-shadow: 
      0 0 10px rgba(0, 255, 255, 0.6),
      0 0 20px rgba(0, 255, 255, 0.4);
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
    border-color: rgba(0, 255, 255, 0.4);
  }
  50% {
    text-shadow: 
      0 0 20px rgba(0, 255, 255, 0.9),
      0 0 40px rgba(0, 255, 255, 0.6),
      0 0 60px rgba(0, 255, 255, 0.4);
    box-shadow: 
      0 0 25px rgba(0, 255, 255, 0.6),
      0 0 40px rgba(0, 255, 255, 0.4);
    border-color: rgba(0, 255, 255, 0.8);
  }
}

/* Prezzo hover - Intensifica */
.product-card:hover .product-card__price,
.card:hover .card__price,
.product-item:hover .price {
  text-shadow: 
    0 0 25px rgba(0, 255, 255, 1),
    0 0 50px rgba(0, 255, 255, 0.8) !important;
  box-shadow: 
    0 0 35px rgba(0, 255, 255, 0.7),
    0 0 60px rgba(0, 255, 255, 0.5) !important;
  transform: scale(1.05) !important;
}

/* Prezzo barrato (compare at price) */
.price__compare,
.price--compare,
s.price {
  color: #999999 !important;
  text-decoration: line-through !important;
  font-weight: 400 !important;
  font-size: 0.85em !important;
  text-shadow: none !important;
  animation: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* ============================================
   5. GRID - VERTICALE ORDINATO
   ============================================ */

/* Product grid - VERTICALE */
.product-list,
.collection__products,
.grid--products,
.product-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 30px !important;
  padding: 30px 20px !important;
  align-items: start !important;
}

/* Ogni card - Altezza automatica */
.product-list > *,
.collection__products > *,
.grid--products > * {
  height: auto !important;
}

/* ============================================
   6. RIMUOVI OVERLAY E LINEE
   ============================================ */

/* Rimuovi overlay nero */
.product-card::before,
.product-card::after,
.card::before,
.card::after,
.product-card__overlay,
.card__overlay,
[class*="overlay"] {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Rimuovi linee cyan verticali */
.product-card + .product-card::before,
.card + .card::before,
*[class*="product"]::before,
*[class*="product"]::after {
  border-left: none !important;
  border-right: none !important;
  box-shadow: none !important;
}

/* ============================================
   7. BUTTONS
   ============================================ */

/* Add to cart button */
.product-card__button,
.card__button,
.product-item__button,
button[name="add"],
.quick-add-button,
[class*="add-to-cart"] {
  background: linear-gradient(135deg, #00FFFF 0%, #EC00FF 100%) !important;
  color: #000000 !important;
  font-weight: 900 !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 14px 28px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  box-shadow: 0 0 20px rgba(0, 255, 255, 0.4) !important;
  transition: all 0.3s ease !important;
  width: 100% !important;
  margin-top: 15px !important;
  cursor: pointer !important;
}

.product-card__button:hover,
.card__button:hover,
button[name="add"]:hover {
  box-shadow: 
    0 0 30px rgba(0, 255, 255, 0.6),
    0 0 50px rgba(236, 0, 255, 0.4) !important;
  transform: translateY(-2px) !important;
}

/* ============================================
   8. BADGES
   ============================================ */

/* Badges - Posizione assoluta */
.badge,
.product-badge,
.card__badge,
.product-card__badge,
[class*="badge"] {
  background: linear-gradient(135deg, #00FFFF 0%, #EC00FF 100%) !important;
  color: #000000 !important;
  font-weight: 700 !important;
  padding: 6px 14px !important;
  border-radius: 20px !important;
  font-size: 0.8em !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  position: absolute !important;
  top: 15px !important;
  left: 15px !important;
  z-index: 10 !important;
  box-shadow: 0 0 15px rgba(0, 255, 255, 0.5) !important;
}

/* ============================================
   9. RESPONSIVE
   ============================================ */

@media screen and (max-width: 768px) {
  /* Grid 1 colonna su mobile */
  .product-list,
  .collection__products,
  .grid--products {
    grid-template-columns: 1fr !important;
    gap: 25px !important;
    padding: 20px 15px !important;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  /* Grid 2 colonne su tablet */
  .product-list,
  .collection__products,
  .grid--products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 25px !important;
  }
}

@media screen and (min-width: 1025px) {
  /* Grid 3-4 colonne su desktop */
  .product-list,
  .collection__products,
  .grid--products {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
    gap: 30px !important;
  }
}

/* ============================================
   10. PERFORMANCE
   ============================================ */

@media (prefers-reduced-motion: reduce) {
  .product-card__price {
    animation: none !important;
  }
  
  * {
    transition-duration: 0.01ms !important;
  }
}

/* ============================================
   11. FIX PLACEHOLDER SVG
   ============================================ */

/* Rimuovi placeholder che creano finestre nere */
svg.placeholder,
.placeholder-svg {
  display: none !important;
}

/* ============================================
   END OF PRODUCTS FIX V3
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - PRODUCTS FINAL FIX
   Fix: testo bianco, linee multiple, prezzo centrato
   DA AGGIUNGERE ALLA FINE DEL CSS ESISTENTE
   ============================================ */

/* ============================================
   1. TESTO BIANCO - TUTTI I TESTI
   ============================================ */

/* Titolo prodotto - BIANCO */
.product-card__title,
.card__title,
.product-item__title,
.product-item-meta__title,
h3.product-card__title,
h3.card__title,
.product-card__info h3,
.card__info h3,
.product-card__info *,
.card__info *,
[class*="product"]__title,
[class*="card"]__title {
  color: #ffffff !important;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.3) !important;
}

/* Descrizione - BIANCO */
.product-card__description,
.card__description,
.product-item__description,
.product-card__info p,
.card__info p,
.product-card__info span,
.card__info span {
  color: #ffffff !important;
  opacity: 0.9 !important;
}

/* Vendor/brand - BIANCO */
.product-card__vendor,
.card__vendor,
.product-item__vendor {
  color: rgba(255, 255, 255, 0.8) !important;
}

/* Tutti gli elementi di testo nell'area info - BIANCO */
.product-card__info,
.product-card__info *:not(.price):not(.product-card__price):not(.card__price),
.card__info,
.card__info *:not(.price):not(.product-card__price):not(.card__price) {
  color: #ffffff !important;
}

/* ============================================
   2. RIMUOVI LINEE MULTIPLE/DISORDINATE
   ============================================ */

/* Rimuovi TUTTI i bordi extra tranne quello principale */
.product-card *::before,
.product-card *::after,
.card *::before,
.card *::after,
.product-item *::before,
.product-item *::after {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Mantieni SOLO il bordo principale del product card */
.product-card,
.card,
.product-item {
  border: 2px solid #EC00FF !important;
  box-shadow: 0 0 20px rgba(236, 0, 255, 0.4) !important;
}

/* Rimuovi bordi da elementi interni */
.product-card__figure,
.product-card__media,
.product-card__info,
.card__media,
.card__info,
.product-card__figure *,
.product-card__media *,
.card__media * {
  border: none !important;
  outline: none !important;
}

/* Rimuovi pseudo-elementi che creano linee extra */
.product-card::before,
.product-card::after,
.card::before,
.card::after,
.product-card__figure::before,
.product-card__figure::after,
.product-card__media::before,
.product-card__media::after {
  display: none !important;
  content: none !important;
}

/* ============================================
   3. PREZZO CENTRATO NEL BOX CIANO
   ============================================ */

/* Prezzo - CENTRATO */
.product-card__price,
.card__price,
.product-item__price,
.price,
.product-card__info .price,
.card__info .price,
[class*="price"],
.price-item,
.price-list {
  color: #00FFFF !important;
  font-weight: 900 !important;
  font-size: 1.3em !important;
  text-shadow: 
    0 0 10px rgba(0, 255, 255, 0.6),
    0 0 20px rgba(0, 255, 255, 0.4) !important;
  animation: price-pulse-cyan 2s ease-in-out infinite !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 10px 20px !important;
  border-radius: 8px !important;
  background: rgba(0, 255, 255, 0.15) !important;
  border: 2px solid rgba(0, 255, 255, 0.4) !important;
  margin: 10px auto !important;
  width: fit-content !important;
  min-width: 150px !important;
}

/* Container prezzo - CENTRATO */
.price-list,
.product-card__info .price-list,
.card__info .price-list {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
}

/* ============================================
   4. AREA INFO - BACKGROUND NERO (non bianco)
   ============================================ */

/* Area info - NERO per testo bianco */
.product-card__info,
.product-card-info,
.card__info,
.card-info,
.card__content,
.product-item__info,
.product-item-meta,
.product-card__content {
  background: #000000 !important;
  padding: 20px !important;
}

/* ============================================
   5. ANIMAZIONE PREZZO CIANO (mantieni)
   ============================================ */

@keyframes price-pulse-cyan {
  0%, 100% {
    text-shadow: 
      0 0 10px rgba(0, 255, 255, 0.6),
      0 0 20px rgba(0, 255, 255, 0.4);
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
    border-color: rgba(0, 255, 255, 0.4);
  }
  50% {
    text-shadow: 
      0 0 20px rgba(0, 255, 255, 0.9),
      0 0 40px rgba(0, 255, 255, 0.6),
      0 0 60px rgba(0, 255, 255, 0.4);
    box-shadow: 
      0 0 25px rgba(0, 255, 255, 0.6),
      0 0 40px rgba(0, 255, 255, 0.4);
    border-color: rgba(0, 255, 255, 0.8);
  }
}

/* ============================================
   6. BUTTONS - CENTRATI
   ============================================ */

/* Add to cart button - CENTRATO */
.product-card__button,
.card__button,
.product-item__button,
button[name="add"],
.quick-add-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  margin: 15px auto 0 auto !important;
}

/* ============================================
   7. FIX SPECIFICI PER HOMEPAGE
   ============================================ */

/* Sezione "Più venduti" - Testo bianco */
.section__heading,
h2,
h3 {
  color: #00FFFF !important;
  text-shadow: 0 0 20px rgba(0, 255, 255, 0.6) !important;
}

/* ============================================
   8. RIMUOVI OVERLAY/SEPARATORI EXTRA
   ============================================ */

/* Rimuovi separatori tra product cards */
.product-card + .product-card,
.card + .card {
  border-left: none !important;
  margin-left: 0 !important;
}

/* Rimuovi overlay scuri */
[class*="overlay"],
.overlay {
  display: none !important;
  opacity: 0 !important;
}

/* ============================================
   9. UNIFORMITÀ COLORI
   ============================================ */

/* Tutti i link nell'area info - BIANCO */
.product-card__info a,
.card__info a {
  color: #ffffff !important;
  text-decoration: none !important;
}

.product-card__info a:hover,
.card__info a:hover {
  color: #00FFFF !important;
}

/* ============================================
   10. FIX RESPONSIVE
   ============================================ */

@media screen and (max-width: 768px) {
  /* Prezzo più piccolo su mobile */
  .product-card__price,
  .card__price {
    font-size: 1.1em !important;
    min-width: 120px !important;
    padding: 8px 16px !important;
  }
}

/* ============================================
   END OF FINAL FIX
   ============================================ */

  /* ============================================
   WELLNESSTECHNOVA - PRICE CLICKABLE FIX
   Rende gli input prezzi CLICCABILI ed EDITABILI
   AGGIUNGI DOPO IL CSS FINAL COMPLETE
   ============================================ */

/* ============================================
   1. INPUT CLICCABILI - POINTER EVENTS
   ============================================ */

/* FORZA pointer-events su input */
input[type="number"][name="filter.v.price.gte"],
input[type="number"][name="filter.v.price.lte"],
input[id="Filter-v.price.gte"],
input[id="Filter-v.price.lte"],
input[name*="filter.v.price"] {
  pointer-events: auto !important;
  cursor: text !important;
  user-select: text !important;
  -webkit-user-select: text !important;
  -moz-user-select: text !important;
  -ms-user-select: text !important;
}

/* ============================================
   2. RIMUOVI PSEUDO-ELEMENTI CHE COPRONO INPUT
   ============================================ */

/* Rimuovi ::before e ::after da input */
input[name*="filter.v.price"]::before,
input[name*="filter.v.price"]::after,
input[id*="Filter-v.price"]::before,
input[id*="Filter-v.price"]::after {
  display: none !important;
  content: none !important;
  pointer-events: none !important;
}

/* Rimuovi ::before e ::after da label */
label.input-prefix::before,
label.input-prefix::after,
label.input-prefix.text-sm::before,
label.input-prefix.text-sm::after {
  display: none !important;
  content: none !important;
  pointer-events: none !important;
}

/* Rimuovi ::before e ::after da span */
span.prefix.text-subdued::before,
span.prefix.text-subdued::after,
span.text-subdued.text-sm::before,
span.text-subdued.text-sm::after {
  display: none !important;
  content: none !important;
  pointer-events: none !important;
}

/* ============================================
   3. Z-INDEX CORRETTO - INPUT SOPRA TUTTO
   ============================================ */

/* Input sopra tutto */
input[name*="filter.v.price"],
input[id*="Filter-v.price"] {
  position: relative !important;
  z-index: 100 !important;
}

/* Span sotto input */
span.prefix.text-subdued,
span.text-subdued.text-sm {
  position: relative !important;
  z-index: 1 !important;
  pointer-events: none !important; /* Span NON cliccabili */
}

/* Label normale */
label.input-prefix {
  position: relative !important;
  z-index: 10 !important;
}

/* ============================================
   4. VISIBILITÀ TESTO INPUT
   ============================================ */

/* Assicura che il testo sia visibile */
input[name*="filter.v.price"],
input[id*="Filter-v.price"] {
  color: #00FFFF !important;
  text-indent: 0 !important;
  text-align: center !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Placeholder visibile */
input[name*="filter.v.price"]::placeholder,
input[id*="Filter-v.price"]::placeholder {
  color: rgba(0, 255, 255, 0.5) !important;
  opacity: 0.7 !important;
}

/* ============================================
   5. BACKGROUND INPUT - NO OVERLAY
   ============================================ */

/* Background semplice senza overlay */
input[name*="filter.v.price"],
input[id*="Filter-v.price"] {
  background: rgba(0, 255, 255, 0.1) !important;
  background-color: rgba(0, 255, 255, 0.1) !important;
  background-image: none !important;
}

/* ============================================
   6. BORDER E OUTLINE
   ============================================ */

/* Border visibile */
input[name*="filter.v.price"],
input[id*="Filter-v.price"] {
  border: 2px solid rgba(0, 255, 255, 0.4) !important;
  border-radius: 8px !important;
  outline: none !important;
}

/* Focus border */
input[name*="filter.v.price"]:focus,
input[id*="Filter-v.price"]:focus {
  border-color: #00FFFF !important;
  outline: 2px solid rgba(0, 255, 255, 0.3) !important;
  outline-offset: 2px !important;
}

/* ============================================
   7. RIMUOVI TRANSFORM CHE NASCONDE INPUT
   ============================================ */

/* No transform che sposta input fuori schermo */
input[name*="filter.v.price"],
input[id*="Filter-v.price"] {
  transform: none !important;
  -webkit-transform: none !important;
  -moz-transform: none !important;
  -ms-transform: none !important;
}

/* ============================================
   8. RIMUOVI CLIP-PATH CHE TAGLIA INPUT
   ============================================ */

/* No clip-path */
input[name*="filter.v.price"],
input[id*="Filter-v.price"] {
  clip-path: none !important;
  -webkit-clip-path: none !important;
}

/* ============================================
   9. OVERFLOW VISIBILE
   ============================================ */

/* Overflow visibile */
input[name*="filter.v.price"],
input[id*="Filter-v.price"] {
  overflow: visible !important;
}

label.input-prefix {
  overflow: visible !important;
}

.range-input-group {
  overflow: visible !important;
}

/* ============================================
   10. DISABLED STATE - SE PRESENTE
   ============================================ */

/* Rimuovi disabled se presente */
input[name*="filter.v.price"][disabled],
input[id*="Filter-v.price"][disabled] {
  pointer-events: auto !important;
  cursor: text !important;
  opacity: 1 !important;
}

/* ============================================
   11. READONLY STATE - SE PRESENTE
   ============================================ */

/* Rimuovi readonly se presente */
input[name*="filter.v.price"][readonly],
input[id*="Filter-v.price"][readonly] {
  pointer-events: auto !important;
  cursor: text !important;
  user-select: text !important;
}

/* ============================================
   12. FONT E TEXT RENDERING
   ============================================ */

/* Font leggibile */
input[name*="filter.v.price"],
input[id*="Filter-v.price"] {
  font-family: inherit !important;
  font-size: 0.95em !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

/* ============================================
   13. WIDTH E HEIGHT FISSI
   ============================================ */

/* Dimensioni fisse per evitare collasso */
input[name*="filter.v.price"],
input[id*="Filter-v.price"] {
  width: 70px !important;
  min-width: 70px !important;
  max-width: 70px !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  padding: 8px 10px !important;
  box-sizing: border-box !important;
}

/* ============================================
   14. DISPLAY E POSITION
   ============================================ */

/* Display inline-block */
input[name*="filter.v.price"],
input[id*="Filter-v.price"] {
  display: inline-block !important;
  position: relative !important;
}

/* ============================================
   15. RIMUOVI MASK CHE NASCONDE CONTENUTO
   ============================================ */

/* No mask */
input[name*="filter.v.price"],
input[id*="Filter-v.price"] {
  mask: none !important;
  -webkit-mask: none !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
}

/* ============================================
   16. FILTER E BACKDROP-FILTER
   ============================================ */

/* No filter che nasconde testo */
input[name*="filter.v.price"],
input[id*="Filter-v.price"] {
  filter: none !important;
  -webkit-filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* ============================================
   17. MIX-BLEND-MODE
   ============================================ */

/* No mix-blend-mode */
input[name*="filter.v.price"],
input[id*="Filter-v.price"] {
  mix-blend-mode: normal !important;
}

/* ============================================
   18. IMPORTANTE - OVERRIDE INLINE STYLES
   ============================================ */

/* Override inline styles */
input[name*="filter.v.price"][style],
input[id*="Filter-v.price"][style] {
  pointer-events: auto !important;
  cursor: text !important;
  color: #00FFFF !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* ============================================
   END OF PRICE CLICKABLE FIX
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - PRICE CENTERED FINAL
   Dimensioni ridotte per centrare perfettamente
   SOSTITUISCI il CSS "FIX OVERFLOW FINALE" precedente
   AGGIUNGI DOPO il CSS "PRICE CLICKABLE FIX"
   ============================================ */

/* ============================================
   1. CONTAINER ACCORDION - PADDING RIDOTTO
   ============================================ */

/* Accordion content - padding ridotto */
details#accordion-filter-v-price .accordion__content {
  padding: 15px 8px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* ============================================
   2. RANGE-INPUT-GROUP - DIMENSIONI CONTENUTE
   ============================================ */

/* Container input group - max-width 100% */
.range-input-group,
div.input-group {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 8px 3px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* ============================================
   3. LABEL INPUT-PREFIX - GAP RIDOTTO
   ============================================ */

/* Label - gap minimo */
label.input-prefix,
label.input-prefix.text-sm {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 3px !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* ============================================
   4. SPAN CURRENCY - DIMENSIONI RIDOTTE
   ============================================ */

/* Span €EUR - piccoli */
span.prefix.text-subdued {
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #00FFFF !important;
  font-size: 0.7em !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* ============================================
   5. INPUT NUMBER - DIMENSIONI RIDOTTE
   ============================================ */

/* Input prezzi - PICCOLI per centrare */
input[type="number"][name="filter.v.price.gte"],
input[type="number"][name="filter.v.price.lte"],
input[id="Filter-v.price.gte"],
input[id="Filter-v.price.lte"],
input[name*="filter.v.price"] {
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: 50px !important;
  min-width: 50px !important;
  max-width: 50px !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 5px 6px !important;
  margin: 0 !important;
  background: rgba(0, 255, 255, 0.1) !important;
  border: 2px solid rgba(0, 255, 255, 0.4) !important;
  border-radius: 6px !important;
  color: #00FFFF !important;
  font-size: 0.8em !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  transition: all 0.3s ease !important;
  box-sizing: border-box !important;
}

/* ============================================
   6. SPAN SEPARATORE "a" - RIDOTTO
   ============================================ */

/* Span separatore "a" - piccolo */
span.text-subdued.text-sm {
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  padding: 0 4px !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 0.75em !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* ============================================
   7. RESPONSIVE - FINESTRA SOCCHIUSA
   ============================================ */

/* Desktop grande (>1400px) - dimensioni normali */
@media screen and (min-width: 1401px) {
  
  input[name*="filter.v.price"] {
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    font-size: 0.82em !important;
  }
  
  .range-input-group {
    gap: 6px !important;
  }
  
  label.input-prefix {
    gap: 4px !important;
  }
}

/* Desktop normale (1200-1400px) */
@media screen and (min-width: 1200px) and (max-width: 1400px) {
  
  input[name*="filter.v.price"] {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    font-size: 0.78em !important;
    padding: 4px 5px !important;
  }
  
  span.prefix.text-subdued {
    font-size: 0.68em !important;
  }
  
  .range-input-group {
    gap: 4px !important;
  }
  
  label.input-prefix {
    gap: 3px !important;
  }
}

/* Finestra socchiusa (1000-1200px) */
@media screen and (min-width: 1000px) and (max-width: 1199px) {
  
  input[name*="filter.v.price"] {
    width: 45px !important;
    min-width: 45px !important;
    max-width: 45px !important;
    font-size: 0.75em !important;
    padding: 4px 5px !important;
  }
  
  span.prefix.text-subdued {
    font-size: 0.65em !important;
  }
  
  .range-input-group {
    gap: 4px !important;
  }
  
  label.input-prefix {
    gap: 2px !important;
  }
}

/* Finestra molto socchiusa (768-1000px) */
@media screen and (min-width: 768px) and (max-width: 999px) {
  
  input[name*="filter.v.price"] {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    font-size: 0.72em !important;
    padding: 3px 4px !important;
  }
  
  span.prefix.text-subdued {
    font-size: 0.62em !important;
  }
  
  span.text-subdued.text-sm {
    font-size: 0.7em !important;
  }
  
  .range-input-group {
    gap: 3px !important;
  }
  
  label.input-prefix {
    gap: 2px !important;
  }
}

/* Mobile (< 768px) - Stack verticale */
@media screen and (max-width: 767px) {
  
  /* Input group verticale */
  .range-input-group {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  
  /* Label full width */
  label.input-prefix {
    width: 100% !important;
    justify-content: space-between !important;
  }
  
  /* Input full width */
  input[name*="filter.v.price"] {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    font-size: 0.9em !important;
  }
  
  /* Separatore centrato */
  span.text-subdued.text-sm {
    text-align: center !important;
    width: 100% !important;
    padding: 6px 0 !important;
  }
}

/* ============================================
   8. PRICE-RANGE - CONTAINER PRINCIPALE
   ============================================ */

/* Price-range - no extra padding */
price-range.price-range {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* ============================================
   9. OVERFLOW MANAGEMENT
   ============================================ */

/* No overflow hidden */
.facets-drawer,
aside.facets,
.collection__facets {
  overflow-y: auto !important;
  overflow-x: visible !important;
}

details#accordion-filter-v-price {
  overflow: visible !important;
}

/* ============================================
   10. FOCUS E HOVER - MANTENUTI
   ============================================ */

/* Focus - animazione cyan */
input[name*="filter.v.price"]:focus,
input[id*="Filter-v.price"]:focus {
  outline: none !important;
  border-color: #00FFFF !important;
  box-shadow: 0 0 10px rgba(0, 255, 255, 0.5) !important;
  background: rgba(0, 255, 255, 0.15) !important;
  animation: price-pulse-cyan 2s ease-in-out infinite !important;
}

/* Hover */
input[name*="filter.v.price"]:hover,
input[id*="Filter-v.price"]:hover {
  border-color: rgba(0, 255, 255, 0.6) !important;
  background: rgba(0, 255, 255, 0.12) !important;
}

/* ============================================
   11. BUTTON APPLICA - MANTENUTO
   ============================================ */

/* Button submit */
button[type="submit"][form*="facet-form"],
.facets__button {
  width: 100% !important;
  margin-top: 15px !important;
  padding: 10px 20px !important;
  background: linear-gradient(135deg, #00FFFF 0%, #EC00FF 100%) !important;
  border: none !important;
  border-radius: 8px !important;
  color: #000000 !important;
  font-size: 0.95em !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 12px rgba(0, 255, 255, 0.3) !important;
}

button[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 
    0 6px 20px rgba(0, 255, 255, 0.5),
    0 0 25px rgba(236, 0, 255, 0.4) !important;
}

/* ============================================
   END OF PRICE CENTERED FINAL
   ============================================ */

/* ============================================
   WELLNESSTECHNOVA - CHI SIAMO WORKING
   CSS corretto con selettori reali da HTML
   SOSTITUISCI il CSS "CHI SIAMO ENHANCED" precedente
   ============================================ */

/* ============================================
   1. TITOLI H1 - GLOW NEON ANIMATO
   ============================================ */

/* Titolo principale cyan */
.page h1.text-center,
.page-spacer h1 {
  color: #00FFFF !important;
  font-size: 3em !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  margin: 50px 0 35px 0 !important;
  text-shadow: 
    0 0 12px rgba(0, 255, 255, 0.9),
    0 0 24px rgba(0, 255, 255, 0.7),
    0 0 36px rgba(0, 255, 255, 0.5),
    0 0 48px rgba(236, 0, 255, 0.4) !important;
  animation: title-glow-pulse 3s ease-in-out infinite !important;
}

/* Animazione pulsazione glow */
@keyframes title-glow-pulse {
  0%, 100% {
    text-shadow: 
      0 0 12px rgba(0, 255, 255, 0.9),
      0 0 24px rgba(0, 255, 255, 0.7),
      0 0 36px rgba(0, 255, 255, 0.5),
      0 0 48px rgba(236, 0, 255, 0.4);
  }
  50% {
    text-shadow: 
      0 0 18px rgba(0, 255, 255, 1),
      0 0 36px rgba(0, 255, 255, 0.9),
      0 0 54px rgba(0, 255, 255, 0.7),
      0 0 72px rgba(236, 0, 255, 0.6);
  }
}

/* ============================================
   2. PARAGRAFI - SPACING E LEGGIBILITÀ
   ============================================ */

/* Container prose */
.prose,
div.prose {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 20px !important;
}

/* Paragrafi */
.prose p,
.page p {
  font-size: 1.15em !important;
  line-height: 1.8 !important;
  color: rgba(255, 255, 255, 0.95) !important;
  margin: 25px 0 !important;
  text-align: justify !important;
}

/* Parole in grassetto - highlight cyan */
.prose strong,
.prose b,
.page strong,
.page b {
  color: #00FFFF !important;
  font-weight: 700 !important;
  text-shadow: 0 0 10px rgba(0, 255, 255, 0.6) !important;
}

/* ============================================
   3. IMMAGINI - BORDI NEON E HOVER
   ============================================ */

/* Tutte le immagini nella pagina */
.page img,
.prose img,
.container img {
  width: 100% !important;
  max-width: 900px !important;
  height: auto !important;
  display: block !important;
  margin: 50px auto !important;
  border-radius: 20px !important;
  border: 4px solid transparent !important;
  background: 
    linear-gradient(#000, #000) padding-box,
    linear-gradient(135deg, #00FFFF 0%, #EC00FF 100%) border-box !important;
  box-shadow: 
    0 0 25px rgba(0, 255, 255, 0.6),
    0 0 50px rgba(236, 0, 255, 0.4),
    0 15px 40px rgba(0, 0, 0, 0.6) !important;
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Hover immagini */
.page img:hover,
.prose img:hover,
.container img:hover {
  transform: translateY(-12px) scale(1.03) !important;
  box-shadow: 
    0 0 35px rgba(0, 255, 255, 0.9),
    0 0 70px rgba(236, 0, 255, 0.7),
    0 25px 60px rgba(0, 0, 0, 0.8) !important;
  border-width: 5px !important;
}

/* ============================================
   4. SEPARATORI - LINEE NEON
   ============================================ */

/* Aggiungi separatore dopo ogni sezione */
.page hr,
.prose hr {
  width: 70% !important;
  max-width: 550px !important;
  height: 3px !important;
  background: linear-gradient(90deg, 
    transparent 0%, 
    #00FFFF 25%, 
    #EC00FF 50%, 
    #00FFFF 75%, 
    transparent 100%) !important;
  border: none !important;
  margin: 60px auto !important;
  box-shadow: 
    0 0 12px rgba(0, 255, 255, 0.7),
    0 0 24px rgba(236, 0, 255, 0.5) !important;
  animation: separator-glow 3s ease-in-out infinite !important;
}

/* Animazione separatore */
@keyframes separator-glow {
  0%, 100% {
    opacity: 0.7;
    box-shadow: 
      0 0 12px rgba(0, 255, 255, 0.7),
      0 0 24px rgba(236, 0, 255, 0.5);
  }
  50% {
    opacity: 1;
    box-shadow: 
      0 0 18px rgba(0, 255, 255, 1),
      0 0 36px rgba(236, 0, 255, 0.8);
  }
}

/* ============================================
   5. CONTAINER PAGINA - SPACING
   ============================================ */

/* Page container */
.page-spacer {
  padding: 40px 20px !important;
}

.page {
  padding: 20px !important;
}

/* Container principale */
.container {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

/* ============================================
   6. EFFETTI HOVER SU TESTO
   ============================================ */

/* Paragrafi hover - leggero glow */
.prose p:hover {
  color: rgba(255, 255, 255, 1) !important;
  text-shadow: 0 0 5px rgba(0, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

/* ============================================
   7. BACKGROUND DECORATIVO
   ============================================ */

/* Aggiungi pattern decorativo sottile */
.page {
  position: relative !important;
}

.page::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: 
    radial-gradient(circle at 20% 30%, rgba(0, 255, 255, 0.03) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(236, 0, 255, 0.03) 0%, transparent 50%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.page > * {
  position: relative !important;
  z-index: 1 !important;
}

/* ============================================
   8. RESPONSIVE - MOBILE
   ============================================ */

/* Mobile adjustments */
@media screen and (max-width: 768px) {
  
  /* Titoli più piccoli */
  .page h1.text-center,
  .page-spacer h1 {
    font-size: 2em !important;
    letter-spacing: 1px !important;
    margin: 35px 0 25px 0 !important;
  }
  
  /* Paragrafi */
  .prose p,
  .page p {
    font-size: 1em !important;
    text-align: left !important;
    padding: 0 10px !important;
    margin: 20px 0 !important;
  }
  
  /* Immagini */
  .page img,
  .prose img,
  .container img {
    margin: 35px auto !important;
    border-radius: 15px !important;
    border-width: 3px !important;
  }
  
  .page img:hover,
  .prose img:hover,
  .container img:hover {
    transform: translateY(-8px) scale(1.02) !important;
  }
  
  /* Separatori */
  .page hr,
  .prose hr {
    width: 85% !important;
    margin: 40px auto !important;
  }
  
  /* Container */
  .page-spacer {
    padding: 25px 15px !important;
  }
  
  .container {
    padding: 0 15px !important;
  }
}

/* Tablet adjustments */
@media screen and (min-width: 769px) and (max-width: 1024px) {
  
  .page h1.text-center,
  .page-spacer h1 {
    font-size: 2.5em !important;
  }
  
  .prose p,
  .page p {
    font-size: 1.1em !important;
  }
}

/* ============================================
   9. PERFORMANCE - GPU ACCELERATION
   ============================================ */

/* GPU acceleration per animazioni */
.page h1,
.page img,
.page hr {
  will-change: transform, opacity !important;
  backface-visibility: hidden !important;
  transform: translateZ(0) !important;
  -webkit-transform: translateZ(0) !important;
}

/* ============================================
   10. ACCESSIBILITY - RISPETTA PREFERS-REDUCED-MOTION
   ============================================ */

/* Disabilita animazioni se utente preferisce */
@media (prefers-reduced-motion: reduce) {
  .page h1,
  .page hr,
  .page img {
    animation: none !important;
    transition: none !important;
  }
}

/* ============================================
   END OF CHI SIAMO WORKING
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - CONTACT COLORS ONLY
   Solo palette colori cyan/magenta neon
   NON modifica struttura/layout/posizioni
   AGGIUNGI ALLA FINE DEL CSS PRINCIPALE
   ============================================ */

/* ============================================
   1. TITOLO "Do you have any question?" - CYAN NEON
   ============================================ */

/* Titolo cyan con glow */
.section__intro h2,
.contact-form h2 {
  color: #00FFFF !important;
  text-shadow: 
    0 0 15px rgba(0, 255, 255, 1),
    0 0 30px rgba(0, 255, 255, 0.8),
    0 0 45px rgba(0, 255, 255, 0.6),
    0 0 60px rgba(236, 0, 255, 0.5) !important;
  animation: title-glow-pulse 3s ease-in-out infinite !important;
}

/* Animazione pulsazione glow */
@keyframes title-glow-pulse {
  0%, 100% {
    text-shadow: 
      0 0 15px rgba(0, 255, 255, 1),
      0 0 30px rgba(0, 255, 255, 0.8),
      0 0 45px rgba(0, 255, 255, 0.6),
      0 0 60px rgba(236, 0, 255, 0.5);
  }
  50% {
    text-shadow: 
      0 0 20px rgba(0, 255, 255, 1),
      0 0 40px rgba(0, 255, 255, 1),
      0 0 60px rgba(0, 255, 255, 0.8),
      0 0 80px rgba(236, 0, 255, 0.7);
  }
}

/* ============================================
   2. FORM CONTAINER - BORDO NEON
   ============================================ */

/* Container form con bordo gradient */
.contact-form.rounded.bg-secondary,
.contact-form {
  background: rgba(0, 255, 255, 0.05) !important;
  border: 3px solid transparent !important;
  background-image: 
    linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)),
    linear-gradient(135deg, #00FFFF 0%, #EC00FF 100%) !important;
  background-origin: border-box !important;
  background-clip: padding-box, border-box !important;
  box-shadow: 
    0 0 30px rgba(0, 255, 255, 0.4),
    0 0 60px rgba(236, 0, 255, 0.3) !important;
}

/* ============================================
   3. INPUT E TEXTAREA - BORDI CYAN
   ============================================ */

/* Input text e email */
.form-control input[type="text"],
.form-control input[type="email"],
input[name*="contact[name]"],
input[name*="contact[email]"] {
  background: rgba(0, 255, 255, 0.05) !important;
  border-color: rgba(0, 255, 255, 0.4) !important;
  color: #FFFFFF !important;
  box-shadow: 
    0 0 10px rgba(0, 255, 255, 0.2),
    inset 0 0 10px rgba(0, 255, 255, 0.05) !important;
}

/* Textarea messaggio */
.form-control textarea,
textarea[name*="contact[body]"] {
  background: rgba(0, 255, 255, 0.05) !important;
  border-color: rgba(0, 255, 255, 0.4) !important;
  color: #FFFFFF !important;
  box-shadow: 
    0 0 10px rgba(0, 255, 255, 0.2),
    inset 0 0 10px rgba(0, 255, 255, 0.05) !important;
}

/* ============================================
   4. FOCUS STATE - GLOW CYAN
   ============================================ */

/* Focus input */
.form-control input:focus,
input[name*="contact"]:focus {
  border-color: #00FFFF !important;
  background: rgba(0, 255, 255, 0.1) !important;
  box-shadow: 
    0 0 20px rgba(0, 255, 255, 0.6),
    0 0 40px rgba(236, 0, 255, 0.4),
    inset 0 0 15px rgba(0, 255, 255, 0.1) !important;
  animation: input-focus-pulse 2s ease-in-out infinite !important;
}

/* Focus textarea */
.form-control textarea:focus,
textarea[name*="contact"]:focus {
  border-color: #00FFFF !important;
  background: rgba(0, 255, 255, 0.1) !important;
  box-shadow: 
    0 0 20px rgba(0, 255, 255, 0.6),
    0 0 40px rgba(236, 0, 255, 0.4),
    inset 0 0 15px rgba(0, 255, 255, 0.1) !important;
  animation: input-focus-pulse 2s ease-in-out infinite !important;
}

/* Animazione focus pulse */
@keyframes input-focus-pulse {
  0%, 100% {
    box-shadow: 
      0 0 20px rgba(0, 255, 255, 0.6),
      0 0 40px rgba(236, 0, 255, 0.4),
      inset 0 0 15px rgba(0, 255, 255, 0.1);
  }
  50% {
    box-shadow: 
      0 0 25px rgba(0, 255, 255, 0.8),
      0 0 50px rgba(236, 0, 255, 0.6),
      inset 0 0 20px rgba(0, 255, 255, 0.15);
  }
}

/* ============================================
   5. PLACEHOLDER - CYAN
   ============================================ */

/* Placeholder cyan */
.form-control input::placeholder,
.form-control textarea::placeholder,
input[name*="contact"]::placeholder,
textarea[name*="contact"]::placeholder {
  color: rgba(0, 255, 255, 0.5) !important;
}

/* ============================================
   6. FLOATING LABELS - CYAN
   ============================================ */

/* Label cyan */
.floating-label,
label[for*="contact"] {
  color: rgba(0, 255, 255, 0.8) !important;
  text-shadow: 0 0 8px rgba(0, 255, 255, 0.5) !important;
}

/* Label focus */
.form-control input:focus ~ .floating-label,
.form-control textarea:focus ~ .floating-label {
  color: #00FFFF !important;
  text-shadow: 0 0 12px rgba(0, 255, 255, 0.8) !important;
}

/* ============================================
   7. BUTTON SUBMIT - GRADIENTE CYAN/MAGENTA
   ============================================ */

/* Button gradiente */
button[type="submit"].button,
.button.button--xl,
button.button--xl {
  background: linear-gradient(135deg, #00FFFF 0%, #EC00FF 100%) !important;
  border: none !important;
  color: #000000 !important;
  box-shadow: 
    0 0 25px rgba(0, 255, 255, 0.5),
    0 0 50px rgba(236, 0, 255, 0.4) !important;
}

/* Hover button */
button[type="submit"].button:hover {
  background: linear-gradient(135deg, #EC00FF 0%, #00FFFF 100%) !important;
  box-shadow: 
    0 0 35px rgba(0, 255, 255, 0.8),
    0 0 70px rgba(236, 0, 255, 0.7) !important;
  transform: translateY(-3px) !important;
}

/* Button text */
.button__loader,
button span {
  color: #000000 !important;
  font-weight: 800 !important;
  text-shadow: 0 0 5px rgba(255, 255, 255, 0.5) !important;
}

/* ============================================
   8. PERFORMANCE - GPU ACCELERATION
   ============================================ */

/* GPU acceleration */
.contact-form,
.form-control input,
.form-control textarea,
button[type="submit"].button {
  will-change: transform, box-shadow !important;
  backface-visibility: hidden !important;
  transform: translateZ(0) !important;
}

/* ============================================
   9. ACCESSIBILITY
   ============================================ */

/* Rispetta prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .section__intro h2,
  .form-control input:focus,
  .form-control textarea:focus,
  button[type="submit"].button {
    animation: none !important;
  }
}

/* ============================================
   END OF CONTACT COLORS ONLY
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - TRACCIA ORDINE FIX CSS
   Correzione imperfezioni pagina tracking
   AGGIUNGI ALLA FINE DEL FILE CSS DEL TEMA
   ============================================ */

/* 1. Titolo principale - Visibilità e glow */
.page h1:contains("Traccia"),
.page-title,
.page h1.h1 {
  color: #00FFFF !important;
  font-size: 3.5em !important;
  font-weight: 900 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: 3px !important;
  margin-bottom: 30px !important;
  text-shadow: 
    0 0 10px rgba(0, 255, 255, 0.8),
    0 0 20px rgba(0, 255, 255, 0.6),
    0 0 30px rgba(0, 255, 255, 0.4),
    0 0 40px rgba(236, 0, 255, 0.3) !important;
  animation: pulse-glow-title 3s ease-in-out infinite !important;
}

@keyframes pulse-glow-title {
  0%, 100% {
    text-shadow: 
      0 0 10px rgba(0, 255, 255, 0.8),
      0 0 20px rgba(0, 255, 255, 0.6),
      0 0 30px rgba(0, 255, 255, 0.4),
      0 0 40px rgba(236, 0, 255, 0.3);
  }
  50% {
    text-shadow: 
      0 0 20px rgba(0, 255, 255, 1),
      0 0 30px rgba(0, 255, 255, 0.8),
      0 0 40px rgba(0, 255, 255, 0.6),
      0 0 50px rgba(236, 0, 255, 0.5);
  }
}

/* 2. Sottotitolo */
.page p:first-of-type,
.prose > p:first-child {
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 1.15em !important;
  text-align: center !important;
  margin-bottom: 50px !important;
  line-height: 1.6 !important;
}

/* 3. Form container - Bordo neon */
.page form,
form[action*="track"] {
  background: rgba(0, 255, 255, 0.03) !important;
  border: 3px solid transparent !important;
  border-image: linear-gradient(135deg, #00FFFF, #EC00FF) 1 !important;
  border-radius: 25px !important;
  padding: 50px 40px !important;
  margin-bottom: 60px !important;
  box-shadow: 
    0 0 20px rgba(0, 255, 255, 0.2),
    0 0 40px rgba(236, 0, 255, 0.1),
    inset 0 0 30px rgba(0, 255, 255, 0.05) !important;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.page form:hover,
form[action*="track"]:hover {
  box-shadow: 
    0 0 30px rgba(0, 255, 255, 0.4),
    0 0 60px rgba(236, 0, 255, 0.2),
    inset 0 0 40px rgba(0, 255, 255, 0.08) !important;
}

/* 4. Input styling - Bordi neon + focus */
.page input[type="text"],
.page input[type="email"],
input[name*="order"] {
  width: 100% !important;
  padding: 16px 20px !important;
  background: rgba(0, 255, 255, 0.05) !important;
  border: 2px solid rgba(0, 255, 255, 0.4) !important;
  border-radius: 12px !important;
  color: #ffffff !important;
  font-size: 1em !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 
    0 0 10px rgba(0, 255, 255, 0.1),
    inset 0 0 10px rgba(0, 255, 255, 0.05) !important;
}

.page input[type="text"]::placeholder,
.page input[type="email"]::placeholder {
  color: rgba(0, 255, 255, 0.4) !important;
}

.page input[type="text"]:focus,
.page input[type="email"]:focus,
input[name*="order"]:focus {
  outline: none !important;
  border-color: #00FFFF !important;
  background: rgba(0, 255, 255, 0.08) !important;
  box-shadow: 
    0 0 20px rgba(0, 255, 255, 0.4),
    0 0 40px rgba(236, 0, 255, 0.2),
    inset 0 0 15px rgba(0, 255, 255, 0.1) !important;
  animation: input-pulse-fix 2s ease-in-out infinite !important;
}

@keyframes input-pulse-fix {
  0%, 100% {
    box-shadow: 
      0 0 20px rgba(0, 255, 255, 0.4),
      0 0 40px rgba(236, 0, 255, 0.2);
  }
  50% {
    box-shadow: 
      0 0 30px rgba(0, 255, 255, 0.6),
      0 0 60px rgba(236, 0, 255, 0.3);
  }
}

/* 5. Labels - Cyan con glow */
.page label,
form[action*="track"] label {
  display: block !important;
  color: #00FFFF !important;
  font-size: 0.95em !important;
  font-weight: 600 !important;
  margin-bottom: 10px !important;
  text-shadow: 0 0 10px rgba(0, 255, 255, 0.5) !important;
}

/* 6. Button - Gradiente neon */
.page button[type="submit"],
form[action*="track"] button {
  width: 100% !important;
  padding: 18px 40px !important;
  background: linear-gradient(135deg, #00FFFF 0%, #EC00FF 100%) !important;
  border: none !important;
  border-radius: 15px !important;
  color: #000000 !important;
  font-size: 1.1em !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  cursor: pointer !important;
  position: relative !important;
  overflow: hidden !important;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 
    0 0 20px rgba(0, 255, 255, 0.4),
    0 0 40px rgba(236, 0, 255, 0.2) !important;
}

.page button[type="submit"]::before,
form[action*="track"] button::before {
  content: '' !important;
  position: absolute !important;
  top: -50% !important;
  left: -50% !important;
  width: 200% !important;
  height: 200% !important;
  background: linear-gradient(
    45deg,
    transparent,
    rgba(255, 255, 255, 0.3),
    transparent
  ) !important;
  transform: rotate(45deg) !important;
  animation: shine-button 3s infinite !important;
}

@keyframes shine-button {
  0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }
  100% { transform: translateX(100%) translateY(100%) rotate(45deg); }
}

.page button[type="submit"]:hover,
form[action*="track"] button:hover {
  transform: translateY(-5px) scale(1.02) !important;
  background: linear-gradient(135deg, #EC00FF 0%, #00FFFF 100%) !important;
  box-shadow: 
    0 10px 30px rgba(0, 255, 255, 0.5),
    0 10px 60px rgba(236, 0, 255, 0.3) !important;
}

/* 7. Separatore neon */
.page hr,
hr {
  height: 2px !important;
  background: linear-gradient(90deg, 
    transparent 0%,
    #00FFFF 20%,
    #EC00FF 50%,
    #00FFFF 80%,
    transparent 100%
  ) !important;
  border: none !important;
  margin: 60px 0 !important;
  box-shadow: 0 0 10px rgba(0, 255, 255, 0.5) !important;
  animation: separator-glow-fix 3s ease-in-out infinite !important;
}

@keyframes separator-glow-fix {
  0%, 100% {
    box-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
  }
  50% {
    box-shadow: 0 0 20px rgba(0, 255, 255, 0.8);
  }
}

/* 8. Titoli sezioni - Cyan con glow */
.page h2,
.prose h2 {
  color: #00FFFF !important;
  font-size: 2.2em !important;
  font-weight: 800 !important;
  text-align: center !important;
  margin-bottom: 40px !important;
  text-shadow: 0 0 15px rgba(0, 255, 255, 0.6) !important;
}

.page h3,
.prose h3 {
  color: #00FFFF !important;
  font-size: 1.5em !important;
  font-weight: 700 !important;
  margin-bottom: 15px !important;
  text-shadow: 0 0 10px rgba(0, 255, 255, 0.5) !important;
}

/* 9. Badge numeri - Circolari neon */
.page ol li::before,
.prose ol li::before {
  content: counter(list-item) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 60px !important;
  height: 60px !important;
  margin-right: 20px !important;
  margin-bottom: 20px !important;
  background: linear-gradient(135deg, #00FFFF, #EC00FF) !important;
  border-radius: 50% !important;
  font-size: 1.8em !important;
  font-weight: 900 !important;
  color: #000000 !important;
  box-shadow: 0 0 20px rgba(0, 255, 255, 0.5) !important;
  animation: pulse-number-fix 2s ease-in-out infinite !important;
  float: left !important;
}

@keyframes pulse-number-fix {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 20px rgba(0, 255, 255, 0.5);
  }
  50% {
    transform: scale(1.1);
    box-shadow: 0 0 30px rgba(0, 255, 255, 0.8);
  }
}

.page ol li,
.prose ol li {
  list-style: none !important;
  margin-bottom: 40px !important;
  padding-left: 0 !important;
  overflow: hidden !important;
}

/* 10. FAQ - Bordi cyan */
.page ul li,
.prose ul li {
  background: rgba(0, 255, 255, 0.03) !important;
  border-left: 4px solid #00FFFF !important;
  border-radius: 12px !important;
  padding: 25px 30px !important;
  margin-bottom: 20px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.page ul li:hover,
.prose ul li:hover {
  background: rgba(0, 255, 255, 0.06) !important;
  border-left-width: 6px !important;
  box-shadow: 0 5px 20px rgba(0, 255, 255, 0.2) !important;
}

.page ul li strong,
.prose ul li strong {
  color: #00FFFF !important;
  font-size: 1.15em !important;
  display: block !important;
  margin-bottom: 10px !important;
}

/* 11. CTA Section */
.page > div:last-child,
.prose > div:last-child {
  background: rgba(0, 255, 255, 0.05) !important;
  border: 2px solid rgba(0, 255, 255, 0.3) !important;
  border-radius: 20px !important;
  padding: 40px 30px !important;
  text-align: center !important;
  margin-top: 60px !important;
}

/* 12. Link CTA */
.page a[href*="contact"],
.prose a[href*="contact"] {
  display: inline-block !important;
  padding: 15px 40px !important;
  background: linear-gradient(135deg, #00FFFF, #EC00FF) !important;
  border-radius: 12px !important;
  color: #000000 !important;
  font-size: 1em !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  letter-spacing: 1.5px !important;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 0 20px rgba(0, 255, 255, 0.4) !important;
}

.page a[href*="contact"]:hover,
.prose a[href*="contact"]:hover {
  transform: translateY(-5px) scale(1.05) !important;
  background: linear-gradient(135deg, #EC00FF, #00FFFF) !important;
  box-shadow: 0 10px 30px rgba(0, 255, 255, 0.6) !important;
}

/* 13. Responsive */
@media screen and (max-width: 768px) {
  .page h1:contains("Traccia"),
  .page-title,
  .page h1.h1 {
    font-size: 2.2em !important;
    letter-spacing: 2px !important;
  }
  
  .page form,
  form[action*="track"] {
    padding: 35px 25px !important;
  }
  
  .page ol li::before,
  .prose ol li::before {
    width: 50px !important;
    height: 50px !important;
    font-size: 1.5em !important;
  }
}

/* 14. Accessibility */
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}

/* ============================================
   FINE TRACCIA ORDINE FIX CSS
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - CTA BUTTON REDUCE
   Riduzione dimensioni button "CONTATTACI"
   AGGIUNGI DOPO IL CSS FIX TRACCIA ORDINE
   ============================================ */

/* Button CTA "Contattaci" - Dimensioni ridotte */
.page a[href*="contact"],
.prose a[href*="contact"] {
  padding: 12px 30px !important; /* Ridotto da 15px 40px */
  border-radius: 8px !important; /* Ridotto da 12px */
  font-size: 0.95em !important; /* Ridotto da 1em */
  letter-spacing: 1.2px !important; /* Ridotto da 1.5px */
}

/* Hover - Lift ridotto */
.page a[href*="contact"]:hover,
.prose a[href*="contact"]:hover {
  transform: translateY(-3px) scale(1.03) !important; /* Ridotto da -5px e 1.05 */
}

/* ============================================
   FINE CTA BUTTON REDUCE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - HOME PAGE NEON ENHANCED
   CSS per migliorare home page con effetti neon
   INIZIO
   ============================================ */

/* ============================================
   1. TITOLO PRINCIPALE
   ============================================ */

/* Titolo hero principale */
.section__intro h2,
.hero__title,
h2:contains("Scegli l'area") {
  color: #00FFFF !important;
  font-size: 2.8em !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-align: center !important;
  margin-bottom: 40px !important;
  text-shadow: 
    0 0 10px rgba(0, 255, 255, 0.8),
    0 0 20px rgba(0, 255, 255, 0.6),
    0 0 30px rgba(0, 255, 255, 0.4),
    0 0 40px rgba(236, 0, 255, 0.3) !important;
  animation: pulse-glow-home 3s ease-in-out infinite !important;
}

@keyframes pulse-glow-home {
  0%, 100% {
    text-shadow: 
      0 0 10px rgba(0, 255, 255, 0.8),
      0 0 20px rgba(0, 255, 255, 0.6),
      0 0 30px rgba(0, 255, 255, 0.4),
      0 0 40px rgba(236, 0, 255, 0.3);
  }
  50% {
    text-shadow: 
      0 0 20px rgba(0, 255, 255, 1),
      0 0 30px rgba(0, 255, 255, 0.8),
      0 0 40px rgba(0, 255, 255, 0.6),
      0 0 50px rgba(236, 0, 255, 0.5);
  }
}

/* ============================================
   2. SOTTOTITOLO "QUAL È IL TUO OBIETTIVO N°1?"
   ============================================ */

/* Sottotitolo obiettivo */
h3:contains("OBIETTIVO"),
.section__intro h3,
h3[style*="text-align: center"] {
  color: #00FFFF !important;
  font-size: 1.8em !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  text-align: center !important;
  margin: 50px 0 30px !important;
  text-shadow: 
    0 0 15px rgba(0, 255, 255, 0.9),
    0 0 25px rgba(0, 255, 255, 0.6),
    0 0 35px rgba(236, 0, 255, 0.4) !important;
}

/* ============================================
   3. TAB NAVIGATION INTERATTIVA
   ============================================ */

/* Container tab navigation */
.tab-navigation,
.tabs,
[role="tablist"],
.product-tabs {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 15px !important;
  flex-wrap: wrap !important;
  margin: 40px 0 !important;
  padding: 20px !important;
  border-radius: 15px !important;
  background: rgba(0, 255, 255, 0.03) !important;
  border: 2px solid transparent !important;
  background-image: 
    linear-gradient(#000, #000),
    linear-gradient(90deg, #00FFFF, #EC00FF, #00FFFF) !important;
  background-origin: border-box !important;
  background-clip: padding-box, border-box !important;
  box-shadow: 
    0 0 20px rgba(0, 255, 255, 0.3),
    0 0 40px rgba(236, 0, 255, 0.2),
    inset 0 0 20px rgba(0, 255, 255, 0.05) !important;
}

/* Singolo tab button */
.tab-button,
.tab,
[role="tab"],
.product-tab {
  position: relative !important;
  padding: 12px 25px !important;
  font-size: 0.95em !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
  color: rgba(255, 255, 255, 0.7) !important;
  background: transparent !important;
  border: 2px solid rgba(0, 255, 255, 0.3) !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
  overflow: hidden !important;
}

/* Tab hover effect */
.tab-button:hover,
.tab:hover,
[role="tab"]:hover,
.product-tab:hover {
  color: #00FFFF !important;
  border-color: #00FFFF !important;
  background: rgba(0, 255, 255, 0.08) !important;
  box-shadow: 
    0 0 20px rgba(0, 255, 255, 0.5),
    0 0 30px rgba(0, 255, 255, 0.3),
    inset 0 0 15px rgba(0, 255, 255, 0.1) !important;
  transform: translateY(-3px) !important;
}

/* Tab active state */
.tab-button.active,
.tab.active,
[role="tab"][aria-selected="true"],
.product-tab.active {
  color: #00FFFF !important;
  border-color: #00FFFF !important;
  background: rgba(0, 255, 255, 0.12) !important;
  box-shadow: 
    0 0 25px rgba(0, 255, 255, 0.7),
    0 0 40px rgba(0, 255, 255, 0.4),
    0 0 60px rgba(236, 0, 255, 0.3),
    inset 0 0 20px rgba(0, 255, 255, 0.15) !important;
  animation: pulse-tab 2s ease-in-out infinite !important;
}

@keyframes pulse-tab {
  0%, 100% {
    box-shadow: 
      0 0 25px rgba(0, 255, 255, 0.7),
      0 0 40px rgba(0, 255, 255, 0.4),
      0 0 60px rgba(236, 0, 255, 0.3),
      inset 0 0 20px rgba(0, 255, 255, 0.15);
  }
  50% {
    box-shadow: 
      0 0 30px rgba(0, 255, 255, 0.9),
      0 0 50px rgba(0, 255, 255, 0.6),
      0 0 70px rgba(236, 0, 255, 0.5),
      inset 0 0 25px rgba(0, 255, 255, 0.2);
  }
}

/* Tab underline (se presente) */
.tab-button::after,
.tab::after,
[role="tab"]::after {
  content: "" !important;
  position: absolute !important;
  bottom: -2px !important;
  left: 50% !important;
  transform: translateX(-50%) scaleX(0) !important;
  width: 80% !important;
  height: 3px !important;
  background: linear-gradient(90deg, #00FFFF, #EC00FF) !important;
  border-radius: 2px !important;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 0 10px rgba(0, 255, 255, 0.8) !important;
}

.tab-button:hover::after,
.tab:hover::after,
[role="tab"]:hover::after,
.tab-button.active::after,
.tab.active::after,
[role="tab"][aria-selected="true"]::after {
  transform: translateX(-50%) scaleX(1) !important;
}

/* ============================================
   4. DESCRIZIONE PRODOTTO
   ============================================ */

/* Container descrizione */
.product-description,
.tab-content,
[role="tabpanel"] {
  padding: 40px 20px !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

/* Paragrafi descrizione */
.product-description p,
.tab-content p,
[role="tabpanel"] p {
  font-size: 1.15em !important;
  line-height: 1.8 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  margin-bottom: 20px !important;
}

/* Parole chiave highlight */
.product-description strong,
.tab-content strong,
[role="tabpanel"] strong,
.product-description b,
.tab-content b,
[role="tabpanel"] b {
  color: #00FFFF !important;
  font-weight: 700 !important;
  text-shadow: 
    0 0 10px rgba(0, 255, 255, 0.6),
    0 0 20px rgba(0, 255, 255, 0.3) !important;
}

/* ============================================
   5. FOOTER SEZIONE
   ============================================ */

/* Footer testo cyan */
.section__footer,
.hero__footer,
footer h3,
h3:contains("Ottimizzazione") {
  color: #00FFFF !important;
  font-size: 1.6em !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin: 60px 0 40px !important;
  text-shadow: 
    0 0 15px rgba(0, 255, 255, 0.9),
    0 0 25px rgba(0, 255, 255, 0.6),
    0 0 35px rgba(236, 0, 255, 0.4) !important;
  animation: pulse-glow-footer 3s ease-in-out infinite !important;
}

@keyframes pulse-glow-footer {
  0%, 100% {
    text-shadow: 
      0 0 15px rgba(0, 255, 255, 0.9),
      0 0 25px rgba(0, 255, 255, 0.6),
      0 0 35px rgba(236, 0, 255, 0.4);
  }
  50% {
    text-shadow: 
      0 0 20px rgba(0, 255, 255, 1),
      0 0 30px rgba(0, 255, 255, 0.8),
      0 0 45px rgba(236, 0, 255, 0.6);
  }
}

/* ============================================
   6. RESPONSIVE
   ============================================ */

/* Mobile (<768px) */
@media screen and (max-width: 767px) {
  /* Titolo principale */
  .section__intro h2,
  .hero__title {
    font-size: 2em !important;
    margin-bottom: 30px !important;
  }
  
  /* Sottotitolo */
  h3:contains("OBIETTIVO"),
  .section__intro h3 {
    font-size: 1.4em !important;
    letter-spacing: 1.5px !important;
  }
  
  /* Tab navigation */
  .tab-navigation,
  .tabs,
  [role="tablist"] {
    gap: 10px !important;
    padding: 15px !important;
  }
  
  /* Tab button */
  .tab-button,
  .tab,
  [role="tab"] {
    padding: 10px 18px !important;
    font-size: 0.85em !important;
    letter-spacing: 1px !important;
  }
  
  /* Descrizione */
  .product-description p,
  .tab-content p {
    font-size: 1em !important;
    line-height: 1.7 !important;
  }
  
  /* Footer */
  .section__footer,
  .hero__footer {
    font-size: 1.3em !important;
    margin: 40px 0 30px !important;
  }
}

/* Tablet (768-1024px) */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  /* Titolo principale */
  .section__intro h2,
  .hero__title {
    font-size: 2.4em !important;
  }
  
  /* Sottotitolo */
  h3:contains("OBIETTIVO"),
  .section__intro h3 {
    font-size: 1.6em !important;
  }
  
  /* Tab button */
  .tab-button,
  .tab,
  [role="tab"] {
    padding: 11px 22px !important;
    font-size: 0.9em !important;
  }
  
  /* Descrizione */
  .product-description p,
  .tab-content p {
    font-size: 1.1em !important;
  }
  
  /* Footer */
  .section__footer,
  .hero__footer {
    font-size: 1.5em !important;
  }
}

/* ============================================
   7. ACCESSIBILITY
   ============================================ */

/* Rispetta prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Focus accessibile */
.tab-button:focus,
.tab:focus,
[role="tab"]:focus {
  outline: 2px solid #00FFFF !important;
  outline-offset: 4px !important;
}

/* ============================================
   WELLNESSTECHNOVA - HOME PAGE NEON ENHANCED
   FINE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - REMOVE WHITE BORDERS
   Rimuove bordi bianchi intorno alle immagini prodotti
   INSTALLAZIONE: Incolla alla FINE di theme.css
   ============================================ */

/* ============================================
   1. PRODUCT CARD FIGURE - NO PADDING/MARGIN
   ============================================ */

/* Area immagine - ZERO padding/margin */
.product-card__figure,
.product-card__media,
.card__media,
.card__figure,
.product-item__image-wrapper,
[class*="product-card"]__figure,
[class*="product-card"]__media {
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  border: none !important;
  overflow: hidden !important;
}

/* ============================================
   2. IMMAGINI - 100% SPAZIO
   ============================================ */

/* Immagini - riempiono TUTTO lo spazio */
.product-card img,
.card img,
.product-item img,
.product-card__media img,
.card__media img,
.product-card__figure img,
.card__figure img,
[class*="product-card"] img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

/* ============================================
   3. LINK IMMAGINE - NO PADDING
   ============================================ */

/* Link che contiene immagine - ZERO padding */
.product-card__figure a,
.product-card__media a,
.card__media a,
.card__figure a {
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

/* ============================================
   4. CONTAINER IMMAGINE - NO GAP
   ============================================ */

/* Div contenitore immagine - ZERO gap */
.product-card__figure > *,
.product-card__media > *,
.card__media > *,
.card__figure > * {
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
}

/* ============================================
   5. PRODUCT CARD - NO GAP INTERNO
   ============================================ */

/* Product card - ZERO gap tra immagine e info */
.product-card,
.card,
.product-item {
  gap: 0 !important;
  padding: 0 !important;
}

/* ============================================
   WELLNESSTECHNOVA - REMOVE WHITE BORDERS
   FINE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - FIX INFO HEIGHT
   Forza altezza corretta su product-card__info
   INSTALLAZIONE: Incolla alla FINE di theme.css
   ============================================ */

/* ============================================
   1. PRODUCT CARD INFO - HEIGHT FIX
   ============================================ */

/* Product card info - max height 170px */
.product-card__info,
div.product-card__info {
  max-height: 170px !important;
  height: auto !important;
  min-height: auto !important;
  padding: 20px !important;
  padding-bottom: 20px !important;
  margin: 0 !important;
  margin-bottom: 0 !important;
}

/* ============================================
   2. V-STACK - NO EXTRA GAP
   ============================================ */

/* V-stack inside info - gap 0.5 */
.product-card__info .v-stack,
.product-card__info div[class*="v-stack"] {
  gap: 0.5rem !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* W-full - no extra space */
.product-card__info .w-full,
.product-card__info div[class*="w-full"] {
  padding: 0 !important;
  margin: 0 !important;
}

/* ============================================
   3. TITLE - NO EXTRA MARGIN
   ============================================ */

/* Title - no extra margin */
.product-card__title,
span.product-card__title {
  margin: 0 !important;
  margin-bottom: 0.5rem !important;
  padding: 0 !important;
}

/* ============================================
   4. PRICE LIST - NO EXTRA MARGIN
   ============================================ */

/* Price list - no extra margin */
.price-list,
price-list {
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================
   5. SALE PRICE - NO EXTRA MARGIN
   ============================================ */

/* Sale price - no extra margin */
.sale-price,
sale-price,
.text-subdued {
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================
   6. TUTTI GLI ELEMENTI - NO EXTRA SPACE
   ============================================ */

/* Tutti elementi dentro info - no extra space */
.product-card__info > *,
.product-card__info > * > * {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Ultimo elemento - ZERO margin */
.product-card__info > *:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ============================================
   7. ELEMENTI NASCOSTI - HEIGHT 0
   ============================================ */

/* Elementi nascosti - height 0 */
.product-card__info > :empty,
.product-card__info > * > :empty {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================
   WELLNESSTECHNOVA - FIX INFO HEIGHT
   FINE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - FORCE INFO SIZE
   Forza dimensioni esatte 301 x 165.27 su product-card__info
   INSTALLAZIONE: Incolla alla FINE di theme.css
   ============================================ */

/* ============================================
   1. PRODUCT CARD INFO - DIMENSIONI ESATTE
   ============================================ */

/* Product card info - dimensioni esatte */
.product-card__info,
div.product-card__info {
  width: 100% !important;
  max-width: 301px !important;
  min-height: 165px !important;
  max-height: 165px !important;
  height: 165px !important;
  padding: 20px !important;
  margin: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* ============================================
   2. V-STACK - DIMENSIONI CONTROLLATE
   ============================================ */

/* V-stack inside info - gap 0.5 */
.product-card__info .v-stack,
.product-card__info div[class*="v-stack"] {
  gap: 0.5rem !important;
  padding: 0 !important;
  margin: 0 !important;
  height: auto !important;
  max-height: 125px !important;
}

/* W-full - 100% width */
.product-card__info .w-full,
.product-card__info div[class*="w-full"] {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ============================================
   3. TITLE - DIMENSIONI CONTROLLATE
   ============================================ */

/* Title - max 2 lines */
.product-card__title,
span.product-card__title {
  margin: 0 !important;
  margin-bottom: 0.5rem !important;
  padding: 0 !important;
  max-height: 3em !important;
  line-height: 1.5 !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

/* ============================================
   4. PRICE LIST - DIMENSIONI CONTROLLATE
   ============================================ */

/* Price list - fixed height */
.price-list,
price-list {
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  max-height: 2em !important;
}

/* ============================================
   5. SALE PRICE - NO EXTRA SPACE
   ============================================ */

/* Sale price - no extra space */
.sale-price,
sale-price,
.text-subdued {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.5 !important;
}

/* ============================================
   6. ELEMENTI NASCOSTI - HEIGHT 0
   ============================================ */

/* Vendor - nascosto */
.product-card__info .product-card__vendor,
.product-card__info [class*="vendor"] {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Description - nascosta */
.product-card__info .product-card__description,
.product-card__info [class*="description"] {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Elementi vuoti - nascosti */
.product-card__info > :empty,
.product-card__info > * > :empty {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================
   7. TUTTI GLI ELEMENTI - NO EXTRA MARGIN
   ============================================ */

/* Tutti elementi - no extra margin */
.product-card__info > *,
.product-card__info > * > * {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Ultimo elemento - ZERO margin */
.product-card__info > *:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ============================================
   WELLNESSTECHNOVA - FORCE INFO SIZE
   FINE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - FIX SORT TEXT WHITE
   Rende testo sort dropdown BIANCO
   INSTALLAZIONE: Incolla alla FINE di theme.css
   ============================================ */

/* ============================================
   1. REVERSED-LINK - BIANCO
   ============================================ */

/* Reversed link - BIANCO */
.reversed-link,
span.reversed-link,
a.reversed-link {
  color: #FFFFFF !important;
  text-decoration: none !important;
}

/* Reversed link hover - CYAN */
.reversed-link:hover {
  color: #00FFFF !important;
}

/* ============================================
   2. SORT BY FACET - TUTTO BIANCO
   ============================================ */

/* Sort by facet - tutto BIANCO */
.sort-by-facet,
.sort-by-facet *,
.facet-sort-by,
.facet-sort-by * {
  color: #FFFFFF !important;
}

/* ============================================
   3. POPOVER SORT - BIANCO
   ============================================ */

/* Popover sort - BIANCO */
span[id*="popover-sort"],
span[class*="popover-sort"],
#popover-sort-by-template--27579668332876__main-value {
  color: #FFFFFF !important;
}

/* ============================================
   4. LABEL "ORDINA:" - BIANCO
   ============================================ */

/* Label ordina - BIANCO */
.facets-summary label,
.facets-summary span,
.text-with-icon,
.text-with-icon * {
  color: #FFFFFF !important;
}

/* ============================================
   5. BUTTON SORT - BIANCO
   ============================================ */

/* Button sort - BIANCO */
button[aria-labelledby*="sort"],
button[aria-controls*="sort"],
.sort-by-facet button {
  color: #FFFFFF !important;
  background: transparent !important;
  border: 1px solid #00FFFF !important;
}

/* Button sort hover - CYAN */
button[aria-labelledby*="sort"]:hover,
button[aria-controls*="sort"]:hover {
  color: #00FFFF !important;
  background: rgba(0, 255, 255, 0.1) !important;
}

/* ============================================
   6. POPOVER DIALOG - BIANCO
   ============================================ */

/* Popover dialog - background NERO con testo BIANCO */
.popover,
popover,
[role="dialog"][id*="popover"] {
  background: #000000 !important;
  color: #FFFFFF !important;
  border: 1px solid #00FFFF !important;
}

/* Popover items - BIANCO */
.popover *,
popover * {
  color: #FFFFFF !important;
}

/* ============================================
   7. SELECT DROPDOWN - BIANCO
   ============================================ */

/* Select dropdown - BIANCO su NERO */
.sort-by-facet select,
select[name*="sort"],
select[id*="sort"] {
  color: #FFFFFF !important;
  background: #000000 !important;
  border: 1px solid #00FFFF !important;
}

/* Options - BIANCO su NERO */
.sort-by-facet option,
select[name*="sort"] option,
select[id*="sort"] option {
  color: #FFFFFF !important;
  background: #000000 !important;
}

/* ============================================
   8. CIRCLE CHEVRON - BIANCO
   ============================================ */

/* Circle chevron icon - BIANCO */
.circle-chevron,
span[class*="circle-chevron"] {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
}

/* ============================================
   WELLNESSTECHNOVA - FIX SORT TEXT WHITE
   FINE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - FIX INFO PROPORTIONAL
   Info si adatta proporzionalmente come immagine
   INSTALLAZIONE: SOSTITUISCI tutti i CSS precedenti
   ============================================ */

/* ============================================
   1. PRODUCT CARD INFO - ADATTIVA
   ============================================ */

/* Product card info - dimensioni RELATIVE */
.product-card__info,
div.product-card__info {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 140px !important;
  height: auto !important;
  max-height: none !important;
  padding: 20px !important;
  padding-top: 20px !important;
  padding-bottom: 20px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  margin: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

/* ============================================
   2. V-STACK - GAP CONTROLLATO
   ============================================ */

/* V-stack - gap controllato */
.product-card__info .v-stack,
.product-card__info div[class*="v-stack"] {
  gap: 0.5rem !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

/* ============================================
   3. TITLE - MAX 2 LINES
   ============================================ */

/* Title - max 2 lines */
.product-card__title,
span.product-card__title,
.product-card__info .product-card__title {
  margin: 0 !important;
  margin-bottom: 0.5rem !important;
  padding: 0 !important;
  max-height: 3em !important;
  line-height: 1.5 !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  text-overflow: ellipsis !important;
}

/* ============================================
   4. PRICE - NO EXTRA SPACE
   ============================================ */

/* Price - no extra space */
.product-card__info .price-list,
.product-card__info price-list {
  margin: 0 !important;
  margin-top: auto !important;
  padding: 0 !important;
  max-height: 2em !important;
}

/* ============================================
   5. ELEMENTI NASCOSTI - SEMPRE
   ============================================ */

/* Vendor - nascosto SEMPRE */
.product-card__info .product-card__vendor,
.product-card__info [class*="vendor"] {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Description - nascosta SEMPRE */
.product-card__info .product-card__description,
.product-card__info [class*="description"] {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Badge list - nascosta SEMPRE */
.product-card__info .product-card__badge-list,
.product-card__info [class*="badge-list"] {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Elementi vuoti - nascosti SEMPRE */
.product-card__info > :empty,
.product-card__info > * > :empty {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================
   6. SECONDARY MEDIA - NASCOSTA SEMPRE
   ============================================ */

/* Secondary media - nascosta SEMPRE */
.product-card__image--secondary,
img.product-card__image--secondary,
.product-card__image.product-card__image--secondary {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
}

/* ============================================
   7. PRODUCT CARD - NO EXTRA SPACE
   ============================================ */

/* Product card - no extra space */
.product-card,
product-card {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Product card figure - no extra space */
.product-card__figure,
figure.product-card__figure {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  height: auto !important;
}

/* Product card image - no extra space */
.product-card__image,
img.product-card__image {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: cover !important;
}

/* ============================================
   8. OVERRIDE PADDING/MARGIN EXTRA
   ============================================ */

/* Override padding/margin extra */
.product-card__info > *:last-child,
.product-card__info > * > *:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.product-card__info > *:first-child,
.product-card__info > * > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ============================================
   WELLNESSTECHNOVA - FIX INFO PROPORTIONAL
   FINE
   ============================================ */

  /* ============================================
   WELLNESSTECHNOVA - FIX HOVER IMAGE FINAL
   Background NERO + hover corretto per TUTTI i prodotti
   INSTALLAZIONE: SOSTITUISCI tutti i CSS precedenti per hover
   ============================================ */

/* ============================================
   1. PRODUCT CARD FIGURE - BACKGROUND NERO
   ============================================ */

/* Product card figure - BACKGROUND NERO per evitare bianco */
.product-card__figure,
div.product-card__figure {
  position: relative !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  height: auto !important;
  background: #000000 !important;
  background-color: #000000 !important;
}

/* ============================================
   2. PRIMARY IMAGE - VISIBILE DI DEFAULT
   ============================================ */

/* Primary image - visibile di default */
.product-card__image.product-card__image--primary,
img.product-card__image.product-card__image--primary {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  transition: opacity 0.3s ease !important;
  position: relative !important;
  z-index: 1 !important;
  background: #000000 !important;
}

/* ============================================
   3. SECONDARY IMAGE - NASCOSTA DI DEFAULT
   ============================================ */

/* Secondary image - nascosta di default MA display block */
.product-card__image.product-card__image--secondary,
img.product-card__image.product-card__image--secondary {
  opacity: 0 !important;
  visibility: hidden !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  transition: opacity 0.3s ease !important;
  z-index: 2 !important;
  background: #000000 !important;
}

/* ============================================
   4. OBJECT-FILL - SUPPORTO
   ============================================ */

/* Object-fill - supporto per secondary */
.product-card__image.object-fill,
img.product-card__image.object-fill {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
}

/* ============================================
   5. ASPECT-NATURAL - SUPPORTO
   ============================================ */

/* Aspect-natural - supporto per primary */
.product-card__image[aspect-natural],
img.product-card__image[aspect-natural] {
  aspect-ratio: auto !important;
}

/* ============================================
   6. HOVER - MOSTRA SECONDARY, NASCONDE PRIMARY
   ============================================ */

/* Hover - nasconde primary */
.product-card:hover .product-card__image--primary,
product-card:hover .product-card__image--primary,
.product-card:hover img.product-card__image--primary,
product-card:hover img.product-card__image--primary {
  opacity: 0 !important;
}

/* Hover - mostra secondary */
.product-card:hover .product-card__image--secondary,
product-card:hover .product-card__image--secondary,
.product-card:hover img.product-card__image--secondary,
product-card:hover img.product-card__image--secondary {
  opacity: 1 !important;
  visibility: visible !important;
}

/* ============================================
   7. SHOW-SECONDARY-MEDIA - SUPPORTO CLASSE
   ============================================ */

/* Show-secondary-media - supporto classe tema */
.product-card.product-card--show-secondary-media:hover .product-card__image--primary,
product-card.product-card--show-secondary-media:hover .product-card__image--primary {
  opacity: 0 !important;
}

.product-card.product-card--show-secondary-media:hover .product-card__image--secondary,
product-card.product-card--show-secondary-media:hover .product-card__image--secondary {
  opacity: 1 !important;
  visibility: visible !important;
}

/* ============================================
   8. BG-CUSTOM - BACKGROUND NERO
   ============================================ */

/* Bg-custom - background nero */
.product-card__figure.bg-custom,
div.product-card__figure.bg-custom {
  background: #000000 !important;
  background-color: #000000 !important;
}

/* ============================================
   9. TEXT-CUSTOM - BACKGROUND NERO
   ============================================ */

/* Text-custom - background nero */
.product-card.text-custom .product-card__figure,
product-card.text-custom .product-card__figure {
  background: #000000 !important;
  background-color: #000000 !important;
}

/* ============================================
   10. LOADING LAZY - SUPPORTO
   ============================================ */

/* Loading lazy - supporto */
.product-card__image[loading="lazy"],
img.product-card__image[loading="lazy"] {
  /* Mantiene lazy loading */
  background: #000000 !important;
}

/* ============================================
   11. FETCHPRIORITY LOW - SUPPORTO
   ============================================ */

/* Fetchpriority low - supporto */
.product-card__image[fetchpriority="low"],
img.product-card__image[fetchpriority="low"] {
  /* Mantiene fetchpriority */
  background: #000000 !important;
}

/* ============================================
   12. PRODUCT CARD LINK - NO INTERFERENCE
   ============================================ */

/* Product card link - no interference */
.product-card a,
product-card a,
.product-card__figure a,
div.product-card__figure a {
  display: block !important;
  text-decoration: none !important;
  background: transparent !important;
}

/* ============================================
   13. PRODUCT CARD - BACKGROUND NERO
   ============================================ */

/* Product card - background nero */
.product-card,
product-card {
  background: #000000 !important;
}

/* ============================================
   WELLNESSTECHNOVA - FIX HOVER IMAGE FINAL
   FINE
   ============================================ */

  /* ============================================
   WELLNESSTECHNOVA - SUBHEADING NEON STYLE
   Bordo gradient + separatori come FAQ
   NON tocca "LE NOSTRE COLLEZIONI"
   INSTALLAZIONE: Incolla alla FINE di theme.css
   ============================================ */

/* ============================================
   1. SUBHEADING - BOX CON BORDO GRADIENT
   ============================================ */

/* Subheading - box con bordo gradient CYAN → MAGENTA */
.subheading,
p.subheading {
  position: relative !important;
  padding: 40px !important;
  margin: 60px auto !important;
  max-width: 1200px !important;
  background: #000000 !important;
  border: 3px solid transparent !important;
  border-radius: 20px !important;
  background-image: linear-gradient(#000000, #000000), 
                    linear-gradient(135deg, #00FFFF 0%, #FF00FF 100%) !important;
  background-origin: border-box !important;
  background-clip: padding-box, border-box !important;
  box-shadow: 0 0 30px rgba(0, 255, 255, 0.3), 
              0 0 60px rgba(255, 0, 255, 0.2) !important;
  text-align: center !important;
  font-size: 1.5rem !important;
  line-height: 1.8 !important;
  color: #FFFFFF !important;
  word-spacing: 0.3em !important;
}

/* ============================================
   2. SUBHEADING - RESPONSIVE
   ============================================ */

/* Tablet */
@media screen and (max-width: 1024px) {
  .subheading,
  p.subheading {
    padding: 30px !important;
    margin: 40px auto !important;
    font-size: 1.3rem !important;
  }
}

/* Mobile */
@media screen and (max-width: 767px) {
  .subheading,
  p.subheading {
    padding: 20px !important;
    margin: 30px auto !important;
    font-size: 1.1rem !important;
    border-radius: 15px !important;
  }
}

/* ============================================
   3. SEPARATORI TRA PAROLE - PSEUDO-ELEMENTI
   ============================================ */

/* Aggiungi separatori tra frasi con word-spacing */
.subheading::before,
p.subheading::before {
  content: "" !important;
  display: block !important;
  width: 60px !important;
  height: 3px !important;
  background: linear-gradient(90deg, #00FFFF 0%, #FF00FF 100%) !important;
  margin: 0 auto 20px auto !important;
  border-radius: 2px !important;
  box-shadow: 0 0 10px rgba(0, 255, 255, 0.6) !important;
}

.subheading::after,
p.subheading::after {
  content: "" !important;
  display: block !important;
  width: 60px !important;
  height: 3px !important;
  background: linear-gradient(90deg, #FF00FF 0%, #00FFFF 100%) !important;
  margin: 20px auto 0 auto !important;
  border-radius: 2px !important;
  box-shadow: 0 0 10px rgba(255, 0, 255, 0.6) !important;
}

/* ============================================
   4. NON TOCCARE "LE NOSTRE COLLEZIONI"
   ============================================ */

/* Escludi h2 che contiene "LE NOSTRE COLLEZIONI" */
h2:not(.subheading),
.h2:not(.subheading),
h2[reveal-on-scroll]:not(.subheading) {
  /* NON applicare stili subheading */
}

/* Split-lines - NON toccare */
split-lines,
.split-lines {
  /* NON applicare stili subheading */
}

/* ============================================
   5. PROSE - NON TOCCARE
   ============================================ */

/* Prose - NON toccare */
.prose h2:not(.subheading),
div.prose h2:not(.subheading) {
  /* NON applicare stili subheading */
}

/* ============================================
   WELLNESSTECHNOVA - SUBHEADING NEON STYLE
   FINE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - REMOVE PREVIOUS FIXES
   Rimuove modifiche precedenti e ripristina
   INSTALLAZIONE: 
   1. CANCELLA tutto il CSS precedente (FIX COLLECTIONS V1 e V2)
   2. CANCELLA tutto il JS precedente (COLLECTION SEPARATORS)
   3. Incolla QUESTO CSS alla FINE di theme.css
   ============================================ */

/* ============================================
   1. RIMUOVI SEPARATORI NERI
   ============================================ */

/* Separatori creati da JS - NASCOSTI */
.collection-separator {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================
   2. RIPRISTINA BUTTON ORIGINALI
   ============================================ */

/* Rimuovi modifiche ai button */
.floating-controls-container button[is="prev-button"],
.floating-controls-container button[is="next-button"] {
  all: revert !important;
}

/* Rimuovi frecce CSS */
.floating-controls-container button::after,
.floating-controls-container button::before {
  content: none !important;
  display: none !important;
}

/* Ripristina SVG */
.floating-controls-container button svg {
  all: revert !important;
}

/* ============================================
   WELLNESSTECHNOVA - REMOVE PREVIOUS FIXES
   FINE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - HIDE WHITE BUTTON
   Nasconde button bianco su hover collezioni
   INSTALLAZIONE: Incolla alla FINE di theme.css
   ============================================ */

/* ============================================
   NASCONDI SVG ICON CIRCLE-BUTTON
   ============================================ */

/* SVG icon circle-button-right-clipped - NASCOSTO */
svg.icon.icon-circle-button-right-clipped,
.icon.icon-circle-button-right-clipped {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  position: absolute !important;
  pointer-events: none !important;
}

/* Path dentro collection card - NASCOSTO */
.collection-card svg path,
.collection-card__content svg path,
a.collection-card svg path {
  display: none !important;
  opacity: 0 !important;
  fill: none !important;
}

/* SVG dentro collection card - NASCOSTO */
.collection-card svg,
.collection-card__content svg,
a.collection-card svg {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
}

/* Custom place self end start text start - NASCOSTO */
.custom\.place-self-end-start\.text-start,
[class*="custom.place-self-end-start"] {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Content over media group rounded-sm - NASCOSTO se contiene SVG */
.content-over-media.group.rounded-sm svg,
.collection-card .content-over-media svg {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* ============================================
   WELLNESSTECHNOVA - HIDE WHITE BUTTON
   FINE
   ============================================ */

  /* ============================================
   WELLNESSTECHNOVA - HIDE SVG FINAL
   Nasconde SVG button bianco SOLO sezione collezioni
   ULTRA SPECIFICO - NON tocca altre sezioni
   INSTALLAZIONE: 
   1. CANCELLA tutti i CSS precedenti (HIDE WHITE BUTTON, FIX COLLECTION CLICK, HIDE SVG CORRECT)
   2. Incolla QUESTO CSS alla FINE di theme.css
   ============================================ */

/* ============================================
   NASCONDI SVG SOLO SEZIONE COLLEZIONI
   ============================================ */

/* SVG icon circle-button SOLO sezione-4 - NASCOSTO */
#shopify-section-template--27579668726092__section-4 .collection-card__content-wrapper svg.icon.icon-circle-button-right-clipped,
#shopify-section-template--27579668726092__section-4 .collection-card__content-wrapper .icon.icon-circle-button-right-clipped {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Path dentro content-wrapper SOLO sezione-4 - NASCOSTO */
#shopify-section-template--27579668726092__section-4 .collection-card__content-wrapper svg path {
  display: none !important;
  opacity: 0 !important;
  fill: none !important;
}

/* SVG dentro content-wrapper SOLO sezione-4 - NASCOSTO */
#shopify-section-template--27579668726092__section-4 .collection-card__content-wrapper svg {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* ============================================
   LINK CLICCABILE SOLO SEZIONE COLLEZIONI
   ============================================ */

/* Collection card link SOLO sezione-4 - CLICCABILE */
#shopify-section-template--27579668726092__section-4 a.collection-card,
#shopify-section-template--27579668726092__section-4 .collection-card {
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* Content over media SOLO sezione-4 - CLICCABILE */
#shopify-section-template--27579668726092__section-4 .collection-card .content-over-media {
  pointer-events: auto !important;
}

/* Collection list SOLO sezione-4 - CLICCABILE */
#shopify-section-template--27579668726092__section-4 .collection-list {
  pointer-events: auto !important;
}

/* ============================================
   WELLNESSTECHNOVA - HIDE SVG FINAL
   FINE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - TIMELINE IMAGE BORDER
   Separatori bordi SOLO timeline__image-wrapper
   INSTALLAZIONE: Incolla alla FINE di theme.css
   ============================================ */

/* ============================================
   BORDO GRADIENT SU TIMELINE IMAGE WRAPPER
   ============================================ */

/* Timeline image wrapper - BORDO GRADIENT */
.timeline__image-wrapper,
div.timeline__image-wrapper {
  position: relative !important;
  border: 3px solid transparent !important;
  background: 
    linear-gradient(#000, #000) padding-box,
    linear-gradient(135deg, #00FFFF 0%, #FF00FF 50%, #00FFFF 100%) border-box !important;
  border-radius: 12px !important;
  box-shadow: 0 0 20px rgba(0, 255, 255, 0.3),
              0 0 40px rgba(255, 0, 255, 0.2) !important;
  overflow: visible !important;
}

/* ============================================
   LINEE DECORATIVE ANGOLI
   ============================================ */

/* Angolo TOP-LEFT */
.timeline__image-wrapper::before {
  content: "" !important;
  position: absolute !important;
  top: -10px !important;
  left: -10px !important;
  width: 40px !important;
  height: 40px !important;
  border-top: 3px solid #00FFFF !important;
  border-left: 3px solid #00FFFF !important;
  border-radius: 12px 0 0 0 !important;
  box-shadow: 0 0 15px rgba(0, 255, 255, 0.6) !important;
  z-index: 10 !important;
}

/* Angolo BOTTOM-RIGHT */
.timeline__image-wrapper::after {
  content: "" !important;
  position: absolute !important;
  bottom: -10px !important;
  right: -10px !important;
  width: 40px !important;
  height: 40px !important;
  border-bottom: 3px solid #FF00FF !important;
  border-right: 3px solid #FF00FF !important;
  border-radius: 0 0 12px 0 !important;
  box-shadow: 0 0 15px rgba(255, 0, 255, 0.6) !important;
  z-index: 10 !important;
}

/* ============================================
   IMMAGINE DENTRO WRAPPER
   ============================================ */

/* Immagine rounded - MANTIENI BORDO */
.timeline__image-wrapper img.image.rounded {
  border-radius: 8px !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

/* ============================================
   RESPONSIVE
   ============================================ */

/* Tablet */
@media screen and (max-width: 1024px) {
  .timeline__image-wrapper::before,
  .timeline__image-wrapper::after {
    width: 30px !important;
    height: 30px !important;
    border-width: 2px !important;
  }
}

/* Mobile */
@media screen and (max-width: 767px) {
  .timeline__image-wrapper {
    border-width: 2px !important;
    border-radius: 8px !important;
  }
  
  .timeline__image-wrapper::before,
  .timeline__image-wrapper::after {
    width: 25px !important;
    height: 25px !important;
    border-width: 2px !important;
  }
}

/* ============================================
   WELLNESSTECHNOVA - TIMELINE IMAGE BORDER
   FINE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - TIMELINE IMAGE FIX
   Corregge bordi timeline image wrapper
   1. Elimina angoli decorativi distorti
   2. Riduce spazio nero
   INSTALLAZIONE: Incolla DOPO il CSS precedente in theme.css
   ============================================ */

/* ============================================
   ELIMINA ANGOLI DECORATIVI DISTORTI
   ============================================ */

/* Angolo top-left - ELIMINATO */
.timeline__image-wrapper::before {
  content: none !important;
  display: none !important;
}

/* Angolo bottom-right - ELIMINATO */
.timeline__image-wrapper::after {
  content: none !important;
  display: none !important;
}

/* ============================================
   RIDUCE SPAZIO NERO - BORDO PIÙ SOTTILE
   ============================================ */

/* Timeline image wrapper - BORDO 2PX (era 3px) */
.timeline__image-wrapper,
div.timeline__image-wrapper {
  border-width: 2px !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Immagine - NESSUN MARGIN */
.timeline__image-wrapper img.image.rounded {
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

/* ============================================
   WELLNESSTECHNOVA - TIMELINE IMAGE FIX
   FINE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - REMOVE SUBHEADING SEPARATORS
   Elimina separatori ::before e ::after dai sottotitoli
   INSTALLAZIONE: Incolla in theme.css
   ============================================ */

/* ============================================
   ELIMINA SEPARATORI SUBHEADING
   ============================================ */

/* Separatore SOPRA - ELIMINATO */
.subheading::before,
p.subheading::before,
.prose .subheading::before,
.text-center .subheading::before,
div .subheading::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Separatore SOTTO - ELIMINATO */
.subheading::after,
p.subheading::after,
.prose .subheading::after,
.text-center .subheading::after,
div .subheading::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================
   ELIMINA SEPARATORI H2 (se presenti)
   ============================================ */

/* H2 separatori - ELIMINATO */
h2.subheading::before,
h2.subheading::after,
.prose h2::before,
.prose h2::after {
  content: none !important;
  display: none !important;
}

/* ============================================
   ELIMINA SEPARATORI CP (se presenti)
   ============================================ */

/* CP separatori - ELIMINATO */
cp.subheading::before,
cp.subheading::after {
  content: none !important;
  display: none !important;
}

/* ============================================
   WELLNESSTECHNOVA - REMOVE SUBHEADING SEPARATORS
   FINE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - SHIPPING SECTION STYLE
   1. Bordo gradient immagine mappa (senza spazio nero)
   2. Bordo gradient testo paragrafo
   3. Stile WellnessTechnova per "La Tua Ottimizzazione..."
   INSTALLAZIONE: Incolla in theme.css
   ============================================ */

/* ============================================
   1. BORDO GRADIENT IMMAGINE MAPPA
   ============================================ */

/* Container immagine - BORDO GRADIENT */
.multiple-images-with-text__image-list img,
.multiple-images-with-text .image-list img {
  border: 2px solid transparent !important;
  background: 
    linear-gradient(#000, #000) padding-box,
    linear-gradient(135deg, 
      #00FFFF 0%,
      #FF00FF 50%,
      #00FFFF 100%
    ) border-box !important;
  border-radius: 12px !important;
  box-shadow: 
    0 0 20px rgba(0, 255, 255, 0.3),
    0 0 40px rgba(255, 0, 255, 0.2) !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}

/* ============================================
   2. BORDO GRADIENT TESTO PARAGRAFO
   ============================================ */

/* Testo paragrafo - BORDO GRADIENT */
.multiple-images-with-text__content-with-nav p,
.multiple-images-with-text .prose p {
  border: 2px solid transparent !important;
  background: 
    linear-gradient(#000, #000) padding-box,
    linear-gradient(135deg, 
      #00FFFF 0%,
      #FF00FF 50%,
      #00FFFF 100%
    ) border-box !important;
  border-radius: 12px !important;
  box-shadow: 
    0 0 20px rgba(0, 255, 255, 0.3),
    0 0 40px rgba(255, 0, 255, 0.2) !important;
  padding: 20px !important;
  margin: 20px 0 !important;
  color: #FFFFFF !important;
  line-height: 1.6 !important;
}

/* ============================================
   3. STILE "LA TUA OTTIMIZZAZIONE..."
   ============================================ */

/* Split-lines heading - STILE WELLNESSTECHNOVA */
.split-lines,
p.split-lines,
.multiple-images-with-text .split-lines {
  font-size: 2.5rem !important;
  font-weight: 700 !important;
  background: linear-gradient(
    135deg,
    #00FFFF 0%,
    #FF00FF 50%,
    #00FFFF 100%
  ) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  text-shadow: 
    0 0 20px rgba(0, 255, 255, 0.5),
    0 0 40px rgba(255, 0, 255, 0.3) !important;
  text-align: center !important;
  margin: 30px 0 !important;
  padding: 10px 0 !important;
  letter-spacing: 0.5px !important;
  text-transform: none !important;
}

/* Responsive - TABLET */
@media (max-width: 1024px) {
  .split-lines,
  p.split-lines {
    font-size: 2rem !important;
  }
}

/* Responsive - MOBILE */
@media (max-width: 767px) {
  .split-lines,
  p.split-lines {
    font-size: 1.5rem !important;
  }
  
  .multiple-images-with-text__content-with-nav p,
  .multiple-images-with-text .prose p {
    padding: 15px !important;
    font-size: 0.95rem !important;
  }
}

/* ============================================
   WELLNESSTECHNOVA - SHIPPING SECTION STYLE
   FINE
   ============================================ */

/* ============================================
   WELLNESSTECHNOVA - SHIPPING LAYOUT V5
   Layout compatto:
   - Foto più grande + spostata alto
   - Testo affiancato (allineato top)
   - Card ridotte e affiancate (inline)
   INSTALLAZIONE: SOSTITUISCI CSS V4
   ============================================ */

/* ============================================
   SEZIONE - RIDUCE SPAZIO SOPRA
   ============================================ */

/* Sezione - MARGIN TOP NEGATIVO */
#shopify-section-template--27579668726092__section-13,
.shopify-section--multiple-images-with-text {
  margin-top: -60px !important;
  padding-top: 20px !important;
}

/* ============================================
   CONTAINER - GRID LAYOUT
   ============================================ */

/* Container principale - GRID */
.multiple-images-with-text,
div.multiple-images-with-text {
  display: grid !important;
  grid-template-columns: 50% 1fr !important;
  grid-template-rows: auto !important;
  gap: 40px !important;
  width: 100% !important;
  align-items: start !important;
}

/* ============================================
   FOTO - PIÙ GRANDE + SPOSTATA ALTO
   ============================================ */

/* Container foto */
.multiple-images-with-text multiple-images-with-text-image-list,
multiple-images-with-text-image-list {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Immagine - PIÙ GRANDE */
.multiple-images-with-text multiple-images-with-text-image-list img,
multiple-images-with-text-image-list img {
  width: 110% !important;
  height: auto !important;
  max-width: 110% !important;
  object-fit: cover !important;
  display: block !important;
  transform: scale(1.1) !important;
  transform-origin: top left !important;
}

/* ============================================
   CONTENUTO TESTO - AFFIANCATO
   ============================================ */

/* Container contenuto */
.multiple-images-with-text multiple-images-with-text__content-with-nav,
multiple-images-with-text__content-with-nav {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 15px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: start !important;
}

/* ============================================
   TITOLO
   ============================================ */

/* Split-lines / H1 */
.multiple-images-with-text__content-with-nav .split-lines,
.multiple-images-with-text__content-with-nav .h1,
.multiple-images-with-text__content-with-nav p.h1 {
  width: 100% !important;
  margin: 0 0 10px 0 !important;
  padding: 8px 0 !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  background: linear-gradient(
    135deg,
    #00FFFF 0%,
    #FF00FF 50%,
    #00FFFF 100%
  ) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  text-align: left !important;
  letter-spacing: 0.3px !important;
  line-height: 1.2 !important;
}

/* ============================================
   CORPO TESTO - RIDOTTO
   ============================================ */

/* Paragrafo corpo testo */
.multiple-images-with-text__content-with-nav .prose p:not(.h1):not(.split-lines),
.multiple-images-with-text__content-list .prose p:not(.h1):not(.split-lines) {
  width: 100% !important;
  padding: 15px !important;
  margin: 0 0 10px 0 !important;
  border: 2px solid transparent !important;
  background: 
    linear-gradient(#000, #000) padding-box,
    linear-gradient(135deg, 
      #00FFFF 0%,
      #FF00FF 50%,
      #00FFFF 100%
    ) border-box !important;
  border-radius: 10px !important;
  box-shadow: 
    0 0 15px rgba(0, 255, 255, 0.3),
    0 0 30px rgba(255, 0, 255, 0.2) !important;
  color: #FFFFFF !important;
  line-height: 1.5 !important;
  font-size: 0.9rem !important;
}

/* ============================================
   CARD - RIDOTTE E AFFIANCATE
   ============================================ */

/* Container UL - INLINE */
.multiple-images-with-text__content-with-nav ul,
.multiple-images-with-text__content-list ul,
.prose ul {
  display: flex !important;
  flex-direction: row !important;
  gap: 15px !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  flex-wrap: nowrap !important;
}

/* Card LI - RIDOTTE */
.multiple-images-with-text__content-with-nav ul li,
.prose ul li {
  flex: 1 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 12px 10px !important;
  border: 2px solid transparent !important;
  background: 
    linear-gradient(#000, #000) padding-box,
    linear-gradient(135deg, 
      #00FFFF 0%,
      #FF00FF 50%,
      #00FFFF 100%
    ) border-box !important;
  border-radius: 8px !important;
  box-shadow: 
    0 0 12px rgba(0, 255, 255, 0.3),
    0 0 25px rgba(255, 0, 255, 0.2) !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
}

/* Titolo card - RIDOTTO */
.multiple-images-with-text__content-with-nav ul li strong,
.prose ul li strong {
  color: #00FFFF !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  margin: 0 0 5px 0 !important;
  display: block !important;
  width: 100% !important;
  line-height: 1.2 !important;
}

/* Testo card - RIDOTTO */
.multiple-images-with-text__content-with-nav ul li,
.prose ul li {
  color: #FFFFFF !important;
  font-size: 0.8rem !important;
  line-height: 1.4 !important;
}

/* Marker (::marker) - NASCOSTO */
.multiple-images-with-text__content-with-nav ul li::marker,
.prose ul li::marker {
  content: "" !important;
  display: none !important;
}

/* ============================================
   RESPONSIVE - TABLET
   ============================================ */

@media (max-width: 1024px) {
  /* Grid - 2 colonne */
  .multiple-images-with-text,
  div.multiple-images-with-text {
    grid-template-columns: 48% 1fr !important;
    gap: 30px !important;
  }
  
  /* Foto - SCALA RIDOTTA */
  multiple-images-with-text-image-list img {
    width: 105% !important;
    transform: scale(1.05) !important;
  }
  
  /* Titolo - FONT RIDOTTO */
  .multiple-images-with-text__content-with-nav .split-lines,
  .multiple-images-with-text__content-with-nav .h1 {
    font-size: 1.4rem !important;
  }
  
  /* Card - WRAP */
  .multiple-images-with-text__content-with-nav ul,
  .prose ul {
    flex-wrap: wrap !important;
  }
  
  .multiple-images-with-text__content-with-nav ul li,
  .prose ul li {
    flex: 0 0 calc(50% - 8px) !important;
  }
}

/* ============================================
   RESPONSIVE - MOBILE
   ============================================ */

@media (max-width: 767px) {
  /* Sezione - MARGIN NORMALE */
  #shopify-section-template--27579668726092__section-13,
  .shopify-section--multiple-images-with-text {
    margin-top: 0 !important;
  }
  
  /* Grid - 1 colonna */
  .multiple-images-with-text,
  div.multiple-images-with-text {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  
  /* Foto - NORMALE */
  multiple-images-with-text-image-list {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  
  multiple-images-with-text-image-list img {
    width: 100% !important;
    transform: none !important;
  }
  
  /* Contenuto - SOTTO FOTO */
  multiple-images-with-text__content-with-nav {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
  
  /* Titolo - FONT RIDOTTO */
  .multiple-images-with-text__content-with-nav .split-lines,
  .multiple-images-with-text__content-with-nav .h1 {
    font-size: 1.3rem !important;
  }
  
  /* Card - COLUMN */
  .multiple-images-with-text__content-with-nav ul,
  .prose ul {
    flex-direction: column !important;
    gap: 15px !important;
  }
  
  .multiple-images-with-text__content-with-nav ul li,
  .prose ul li {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}

/* ============================================
   WELLNESSTECHNOVA - SHIPPING LAYOUT V5
   FINE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - SHIPPING LAYOUT V5 FIX
   CSS aggiuntivo per correggere V5:
   - Riduci foto (95% invece di 110%)
   - Sposta foto sinistra
   - Ingrandisci scritte
   - Card VERTICALI (come screenshot 2)
   - Allinea testo con foto
   - Elimina spazio nero
   INSTALLAZIONE: Incolla DOPO il CSS V5 in theme.css
   ============================================ */

/* ============================================
   GRID - RIDUCI FOTO, AUMENTA CONTENUTO
   ============================================ */

/* Container - 42% foto + 58% contenuto */
.multiple-images-with-text,
div.multiple-images-with-text {
  grid-template-columns: 42% 58% !important;
  gap: 30px !important;
}

/* ============================================
   FOTO - RIDOTTA E SPOSTATA SINISTRA
   ============================================ */

/* Immagine - 95% (ridotta) */
.multiple-images-with-text multiple-images-with-text-image-list img,
multiple-images-with-text-image-list img {
  width: 95% !important;
  max-width: 95% !important;
  transform: scale(1) !important;
  margin-left: -20px !important;
}

/* ============================================
   CONTENUTO - ALLINEATO CON FOTO
   ============================================ */

/* Container contenuto - HEIGHT 100% */
.multiple-images-with-text multiple-images-with-text__content-with-nav,
multiple-images-with-text__content-with-nav {
  display: flex !important;
  flex-direction: column !important;
  gap: 15px !important;
  height: 100% !important;
  justify-content: flex-start !important;
}

/* ============================================
   TITOLO - INGRANDITO
   ============================================ */

/* Titolo - 2rem (ingrandito) */
.multiple-images-with-text__content-with-nav .split-lines,
.multiple-images-with-text__content-with-nav .h1,
.multiple-images-with-text__content-with-nav p.h1 {
  font-size: 2rem !important;
  margin: 0 0 15px 0 !important;
  padding: 10px 0 !important;
  line-height: 1.3 !important;
}

/* ============================================
   CORPO TESTO - INGRANDITO
   ============================================ */

/* Paragrafo - 1rem (ingrandito) */
.multiple-images-with-text__content-with-nav .prose p:not(.h1):not(.split-lines),
.multiple-images-with-text__content-list .prose p:not(.h1):not(.split-lines) {
  font-size: 1rem !important;
  padding: 18px !important;
  margin: 0 0 15px 0 !important;
  line-height: 1.6 !important;
}

/* ============================================
   CARD - VERTICALI (COME SCREENSHOT 2)
   ============================================ */

/* Container UL - COLUMN (verticali) */
.multiple-images-with-text__content-with-nav ul,
.multiple-images-with-text__content-list ul,
.prose ul {
  display: flex !important;
  flex-direction: column !important;
  gap: 15px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Card LI - FULL WIDTH */
.multiple-images-with-text__content-with-nav ul li,
.prose ul li {
  flex: 0 0 auto !important;
  width: 100% !important;
  padding: 15px !important;
  margin: 0 !important;
  text-align: left !important;
}

/* Titolo card - 1.1rem (ingrandito) */
.multiple-images-with-text__content-with-nav ul li strong,
.prose ul li strong {
  font-size: 1.1rem !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.3 !important;
}

/* Testo card - 0.95rem (ingrandito) */
.multiple-images-with-text__content-with-nav ul li,
.prose ul li {
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
}

/* ============================================
   RESPONSIVE - TABLET
   ============================================ */

@media (max-width: 1024px) {
  /* Grid - 45% + 55% */
  .multiple-images-with-text,
  div.multiple-images-with-text {
    grid-template-columns: 45% 55% !important;
  }
  
  /* Foto - MARGIN NORMALE */
  multiple-images-with-text-image-list img {
    margin-left: -10px !important;
  }
  
  /* Titolo - 1.8rem */
  .multiple-images-with-text__content-with-nav .split-lines,
  .multiple-images-with-text__content-with-nav .h1 {
    font-size: 1.8rem !important;
  }
}

/* ============================================
   RESPONSIVE - MOBILE
   ============================================ */

@media (max-width: 767px) {
  /* Grid - 1 colonna */
  .multiple-images-with-text,
  div.multiple-images-with-text {
    grid-template-columns: 1fr !important;
  }
  
  /* Foto - MARGIN NORMALE */
  multiple-images-with-text-image-list img {
    width: 100% !important;
    margin-left: 0 !important;
  }
  
  /* Titolo - 1.5rem */
  .multiple-images-with-text__content-with-nav .split-lines,
  .multiple-images-with-text__content-with-nav .h1 {
    font-size: 1.5rem !important;
  }
}

/* ============================================
   WELLNESSTECHNOVA - SHIPPING LAYOUT V5 FIX
   FINE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - VIDEO & IMAGE BORDERS
   CSS per aggiungere separatori gradient:
   - Video (video-media)
   - Immagini (media-grid__item)
   - Bordo 2px CYAN→MAGENTA→CYAN
   - Glow effect cyan/magenta
   - Nessuno spazio nero
   INSTALLAZIONE: Incolla in theme.css
   ============================================ */

/* ============================================
   VIDEO - BORDO GRADIENT
   ============================================ */

/* Video container */
video-media,
.video-media,
video {
  border: 2px solid transparent !important;
  background: 
    linear-gradient(#000, #000) padding-box,
    linear-gradient(135deg, 
      #00FFFF 0%,
      #FF00FF 50%,
      #00FFFF 100%
    ) border-box !important;
  border-radius: 12px !important;
  box-shadow: 
    0 0 20px rgba(0, 255, 255, 0.3),
    0 0 40px rgba(255, 0, 255, 0.2) !important;
  overflow: hidden !important;
}

/* Video element interno */
video-media video,
.video-media video {
  border-radius: 10px !important;
  display: block !important;
}

/* ============================================
   IMMAGINI MEDIA-GRID - BORDO GRADIENT
   ============================================ */

/* Container immagini */
.media-grid__item,
a.media-grid__item,
.media-grid__item.shadow.group {
  border: 2px solid transparent !important;
  background: 
    linear-gradient(#000, #000) padding-box,
    linear-gradient(135deg, 
      #00FFFF 0%,
      #FF00FF 50%,
      #00FFFF 100%
    ) border-box !important;
  border-radius: 12px !important;
  box-shadow: 
    0 0 20px rgba(0, 255, 255, 0.3),
    0 0 40px rgba(255, 0, 255, 0.2) !important;
  overflow: hidden !important;
  padding: 0 !important;
}

/* Immagini interne */
.media-grid__item img,
.media-grid__item picture img {
  border-radius: 10px !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Div content-over-media */
.content-over-media,
#media-grid-block-1,
#media-grid-block-2,
#media-grid-block-3,
#media-grid-block-4 {
  border-radius: 10px !important;
  overflow: hidden !important;
}

/* ============================================
   MEDIA-GRID CONTAINER - NO EXTRA PADDING
   ============================================ */

/* Container grid - NO PADDING */
.media-grid,
media-grid {
  gap: 20px !important;
  padding: 0 !important;
}

/* ============================================
   HOVER EFFECT - GLOW AUMENTATO
   ============================================ */

/* Video hover */
video-media:hover,
.video-media:hover,
video:hover {
  box-shadow: 
    0 0 30px rgba(0, 255, 255, 0.5),
    0 0 60px rgba(255, 0, 255, 0.3) !important;
  transform: scale(1.02) !important;
  transition: all 0.3s ease !important;
}

/* Immagini hover */
.media-grid__item:hover {
  box-shadow: 
    0 0 30px rgba(0, 255, 255, 0.5),
    0 0 60px rgba(255, 0, 255, 0.3) !important;
  transform: scale(1.02) !important;
  transition: all 0.3s ease !important;
}

/* ============================================
   RESPONSIVE - TABLET
   ============================================ */

@media (max-width: 1024px) {
  /* Bordo - RIDOTTO */
  video-media,
  .video-media,
  video,
  .media-grid__item {
    border-width: 1.5px !important;
  }
  
  /* Glow - RIDOTTO */
  video-media,
  .video-media,
  video,
  .media-grid__item {
    box-shadow: 
      0 0 15px rgba(0, 255, 255, 0.25),
      0 0 30px rgba(255, 0, 255, 0.15) !important;
  }
  
  /* Gap - RIDOTTO */
  .media-grid,
  media-grid {
    gap: 15px !important;
  }
}

/* ============================================
   RESPONSIVE - MOBILE
   ============================================ */

@media (max-width: 767px) {
  /* Bordo - NORMALE */
  video-media,
  .video-media,
  video,
  .media-grid__item {
    border-width: 2px !important;
  }
  
  /* Glow - NORMALE */
  video-media,
  .video-media,
  video,
  .media-grid__item {
    box-shadow: 
      0 0 15px rgba(0, 255, 255, 0.3),
      0 0 30px rgba(255, 0, 255, 0.2) !important;
  }
  
  /* Gap - RIDOTTO */
  .media-grid,
  media-grid {
    gap: 12px !important;
  }
  
  /* Hover - DISABILITATO */
  video-media:hover,
  .video-media:hover,
  video:hover,
  .media-grid__item:hover {
    transform: none !important;
  }
}

/* ============================================
   WELLNESSTECHNOVA - VIDEO & IMAGE BORDERS
   FINE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - CENTER SUBHEADINGS
   CSS per centrare sottotitoli sezione collezioni:
   - .section-header .prose p.subheading
   - text-align: center
   INSTALLAZIONE: Incolla in theme.css
   ============================================ */

/* ============================================
   SOTTOTITOLI - TEXT-ALIGN CENTER
   ============================================ */

/* Sottotitoli sezione collezioni */
.section-header .prose p.subheading,
.section-header .prose p,
section-header .prose p.subheading,
section-header .prose p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Prose container - CENTER */
.section-header .prose,
section-header .prose {
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Section-header - CENTER */
.section-header,
section-header {
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

/* ============================================
   TUTTE LE SEZIONI - SOTTOTITOLI CENTRATI
   ============================================ */

/* Tutti i sottotitoli con bordo gradient */
p.subheading {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ============================================
   RESPONSIVE - TABLET
   ============================================ */

@media (max-width: 1024px) {
  /* Sottotitoli - CENTER */
  .section-header .prose p.subheading,
  .section-header .prose p,
  p.subheading {
    text-align: center !important;
  }
}

/* ============================================
   RESPONSIVE - MOBILE
   ============================================ */

@media (max-width: 767px) {
  /* Sottotitoli - CENTER */
  .section-header .prose p.subheading,
  .section-header .prose p,
  p.subheading {
    text-align: center !important;
  }
}

/* ============================================
   WELLNESSTECHNOVA - CENTER SUBHEADINGS
   FINE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - COLLECTION SPACING 20PX
   CSS correttivo per ridurre spazio a 20px:
   - Tra testo centrato e immagini collezioni
   - section-header margin-bottom 5px
   - prose margin-bottom 5px
   - p.subheading margin-bottom 5px
   - featured-collection margin-top 5px
   - Totale: 5 + 5 + 5 + 5 = 20px
   INSTALLAZIONE: SOSTITUISCI REDUCE-COLLECTION-SPACING
   ============================================ */

/* ============================================
   SECTION-HEADER - MARGIN 5PX
   ============================================ */

/* Section-header - 5px */
.section-header,
section-header,
.shopify-section--collection-list .section-header {
  margin-bottom: 5px !important;
  padding-bottom: 0 !important;
}

/* ============================================
   PROSE - MARGIN 5PX
   ============================================ */

/* Prose container - 5px */
.section-header .prose,
section-header .prose,
.shopify-section--collection-list .prose {
  margin-bottom: 5px !important;
  padding-bottom: 0 !important;
}

/* ============================================
   SUBHEADING - MARGIN 5PX
   ============================================ */

/* Sottotitolo - 5px */
.section-header .prose p.subheading,
section-header .prose p.subheading,
.shopify-section--collection-list p.subheading,
p.subheading {
  margin-bottom: 5px !important;
  padding-bottom: 0 !important;
}

/* ============================================
   FEATURED-COLLECTION - MARGIN 5PX
   ============================================ */

/* Container immagini - 5px */
.featured-collection,
.collection-list,
.shopify-section--featured-collection,
.shopify-section--collection-list {
  margin-top: 5px !important;
  padding-top: 0 !important;
}

/* Grid immagini - 0px */
.featured-collection__grid,
.collection-grid,
.product-grid {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ============================================
   SECTION-STACK - GAP 5PX
   ============================================ */

/* Section-stack - 5px */
.section-stack,
.shopify-section--collection-list .section-stack {
  gap: 5px !important;
}

/* ============================================
   LINK "ESPLORA LE NOSTRE COLLEZIONI" - MARGIN 5PX
   ============================================ */

/* Link esplora - 5px */
.text-with-icon,
a.text-with-icon,
.group.text-with-icon {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ============================================
   RESPONSIVE - TABLET
   ============================================ */

@media (max-width: 1024px) {
  /* Margin - 5px (invariato) */
  .section-header,
  section-header {
    margin-bottom: 5px !important;
  }
  
  .section-header .prose,
  section-header .prose {
    margin-bottom: 5px !important;
  }
  
  p.subheading {
    margin-bottom: 5px !important;
  }
  
  .featured-collection,
  .collection-list {
    margin-top: 5px !important;
  }
  
  .section-stack {
    gap: 5px !important;
  }
}

/* ============================================
   RESPONSIVE - MOBILE
   ============================================ */

@media (max-width: 767px) {
  /* Margin - 5px (invariato) */
  .section-header,
  section-header {
    margin-bottom: 5px !important;
  }
  
  .section-header .prose,
  section-header .prose {
    margin-bottom: 5px !important;
  }
  
  p.subheading {
    margin-bottom: 5px !important;
  }
  
  .featured-collection,
  .collection-list {
    margin-top: 5px !important;
  }
  
  .section-stack {
    gap: 5px !important;
  }
}

/* ============================================
   WELLNESSTECHNOVA - COLLECTION SPACING 20PX
   FINE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - REMOVE SUBHEADING SEPARATORS V2
   CSS aggiuntivo per rimuovere separatori ::before e ::after:
   - p.subheading::before { display: none }
   - p.subheading::after { display: none }
   - Il bordo gradient è già sul <p> stesso
   INSTALLAZIONE: Incolla in theme.css
   ============================================ */

/* ============================================
   SEPARATORI - DISPLAY NONE
   ============================================ */

/* Separatore sopra - RIMOSSO */
p.subheading::before,
.subheading::before,
.section-header .prose p.subheading::before,
section-header .prose p.subheading::before,
.shopify-section--collection-list p.subheading::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Separatore sotto - RIMOSSO */
p.subheading::after,
.subheading::after,
.section-header .prose p.subheading::after,
section-header .prose p.subheading::after,
.shopify-section--collection-list p.subheading::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================
   ANCHE H2 E CP (se presenti)
   ============================================ */

/* H2 separatori - RIMOSSO */
h2.subheading::before,
h2.subheading::after {
  content: none !important;
  display: none !important;
}

/* CP separatori - RIMOSSO */
cp.subheading::before,
cp.subheading::after {
  content: none !important;
  display: none !important;
}

/* ============================================
   PROSE SEPARATORI (se presenti)
   ============================================ */

/* Prose separatori - RIMOSSO */
.prose .subheading::before,
.prose .subheading::after {
  content: none !important;
  display: none !important;
}

/* ============================================
   WELLNESSTECHNOVA - REMOVE SUBHEADING SEPARATORS V2
   FINE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - FINAL ALIGNMENT FIX
   CSS aggiuntivo per:
   1. Ridurre padding <p> da 31.68px a 15.84px
   2. Allineare separatore (bordo gradient) con prima immagine
   3. Allineare link "Esplora le Nostre Collezioni"
   INSTALLAZIONE: Incolla in theme.css
   ============================================ */

/* ============================================
   1. RIDURRE PADDING <P> DA 31.68PX A 15.84PX
   ============================================ */

/* Padding verticale ridotto a 15.84px */
.shopify-section--collection-list .section-header .prose p.subheading,
.shopify-section--collection-list section-header .prose p.subheading,
.section-header .prose p.subheading,
section-header .prose p.subheading,
p.subheading {
  padding-top: 15.84px !important;
  padding-bottom: 15.84px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ============================================
   2. ALLINEARE SEPARATORE CON PRIMA IMMAGINE
   ============================================ */

/* Section-header - allineamento sinistra */
.shopify-section--collection-list .section-header,
.shopify-section--collection-list section-header,
.section-header,
section-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Prose container - allineamento sinistra */
.shopify-section--collection-list .section-header .prose,
.shopify-section--collection-list section-header .prose,
.section-header .prose,
section-header .prose {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  text-align: left !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Subheading - allineamento sinistra */
.shopify-section--collection-list .section-header .prose p.subheading,
.shopify-section--collection-list section-header .prose p.subheading,
.section-header .prose p.subheading,
section-header .prose p.subheading,
p.subheading {
  display: block !important;
  text-align: left !important;
  width: auto !important;
  max-width: fit-content !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  align-self: flex-start !important;
}

/* ============================================
   3. ALLINEARE LINK "ESPLORA LE NOSTRE COLLEZIONI"
   ============================================ */

/* Link container - allineamento sinistra */
.shopify-section--collection-list .section-header a.text-with-icon,
.shopify-section--collection-list section-header a.text-with-icon,
.section-header a.text-with-icon,
section-header a.text-with-icon,
a.text-with-icon.group {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  align-self: flex-start !important;
}

/* Span reversed-link - allineamento sinistra */
.shopify-section--collection-list .section-header span.reversed-link,
.shopify-section--collection-list section-header span.reversed-link,
.section-header span.reversed-link,
section-header span.reversed-link,
span.reversed-link {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ============================================
   4. COLLECTION CARDS - ALLINEAMENTO SINISTRA
   ============================================ */

/* Collection list container - allineamento sinistra */
.shopify-section--collection-list .collection-list,
.collection-list {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  text-align: left !important;
}

/* Scroll carousel - allineamento sinistra */
.shopify-section--collection-list .scroll-carousel,
.scroll-carousel {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

/* Collection card - allineamento sinistra */
.shopify-section--collection-list .collection-card,
.collection-card {
  margin-left: 0 !important;
  align-self: flex-start !important;
}

/* Prima collection card - margin left 0 */
.shopify-section--collection-list .collection-card:first-child,
.collection-card:first-child {
  margin-left: 0 !important;
}

/* ============================================
   5. RESPONSIVE - MOBILE E TABLET
   ============================================ */

/* Mobile (max-width: 767px) */
@media (max-width: 767px) {
  /* Padding ridotto */
  .section-header .prose p.subheading,
  section-header .prose p.subheading,
  p.subheading {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  
  /* Allineamento sinistra */
  .section-header,
  section-header,
  .section-header .prose,
  section-header .prose,
  .section-header .prose p.subheading,
  section-header .prose p.subheading,
  p.subheading,
  a.text-with-icon.group,
  span.reversed-link {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    margin-left: 0 !important;
  }
}

/* Tablet (768px - 1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
  /* Padding ridotto */
  .section-header .prose p.subheading,
  section-header .prose p.subheading,
  p.subheading {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }
  
  /* Allineamento sinistra */
  .section-header,
  section-header,
  .section-header .prose,
  section-header .prose,
  .section-header .prose p.subheading,
  section-header .prose p.subheading,
  p.subheading,
  a.text-with-icon.group,
  span.reversed-link {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    margin-left: 0 !important;
  }
}

/* Desktop (min-width: 1024px) */
@media (min-width: 1024px) {
  /* Padding ridotto esatto */
  .section-header .prose p.subheading,
  section-header .prose p.subheading,
  p.subheading {
    padding-top: 15.84px !important;
    padding-bottom: 15.84px !important;
  }
  
  /* Allineamento sinistra */
  .section-header,
  section-header,
  .section-header .prose,
  section-header .prose,
  .section-header .prose p.subheading,
  section-header .prose p.subheading,
  p.subheading,
  a.text-with-icon.group,
  span.reversed-link {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    margin-left: 0 !important;
  }
}

/* ============================================
   WELLNESSTECHNOVA - FINAL ALIGNMENT FIX
   FINE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - COLLECTIONS BLACK BACKGROUND
   CSS aggiuntivo per rendere sfondo collezioni completamente nero:
   - Section collezioni → background: #000000
   - Scroll-carousel → background: #000000
   - Collection-list → background: #000000
   - Scroll-area → background: #000000
   - Nessun contrasto con background nero del sito
   INSTALLAZIONE: Incolla in theme.css
   ============================================ */

/* ============================================
   1. SECTION COLLEZIONI - BACKGROUND NERO
   ============================================ */

/* Section collezioni - sfondo nero */
.shopify-section--collection-list,
.shopify-section.shopify-section--collection-list,
section.shopify-section--collection-list,
#shopify-section-template--2757966872609__section-4 {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
  --background: 0 0 0 !important;
}

/* Section bg-gradient - sfondo nero */
.shopify-section--collection-list .section.bg-gradient,
.section.bg-gradient,
div.section.bg-gradient {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
  --background: 0 0 0 !important;
  --gradient: none !important;
}

/* Section full - sfondo nero */
.shopify-section--collection-list .section-full,
.section-full,
div.section-full {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
}

/* ============================================
   2. SCROLL-CAROUSEL - BACKGROUND NERO
   ============================================ */

/* Scroll-carousel - sfondo nero */
.shopify-section--collection-list scroll-carousel,
scroll-carousel,
scroll-carousel.scroll-area-template--2757966872609__section-4 {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
}

/* Scroll-area - sfondo nero */
.shopify-section--collection-list .scroll-area,
.scroll-area,
scroll-carousel .scroll-area,
.scroll-area.bleed {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
}

/* Scroll-area bleed - sfondo nero */
.shopify-section--collection-list .scroll-area.bleed,
.scroll-area.bleed,
scroll-carousel.scroll-area.bleed {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
}

/* ============================================
   3. COLLECTION-LIST - BACKGROUND NERO
   ============================================ */

/* Collection-list - sfondo nero */
.shopify-section--collection-list .collection-list,
.collection-list,
collection-list {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
}

/* Floating-controls-container - sfondo nero */
.shopify-section--collection-list .floating-controls-container,
.floating-controls-container,
div.floating-controls-container {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
}

/* ============================================
   4. COLLECTION-CARD - BACKGROUND TRANSPARENT
   ============================================ */

/* Collection-card - sfondo trasparente (per non coprire nero) */
.shopify-section--collection-list .collection-card,
.collection-card,
a.collection-card {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Collection-card shadow - sfondo trasparente */
.shopify-section--collection-list .collection-card.shadow,
.collection-card.shadow,
a.collection-card.shadow {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Collection-card is-selected - sfondo trasparente */
.shopify-section--collection-list .collection-card.shadow.is-selected,
.collection-card.shadow.is-selected,
a.collection-card.shadow.is-selected {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* ============================================
   5. SECTION-STACK - BACKGROUND NERO
   ============================================ */

/* Section-stack - sfondo nero */
.shopify-section--collection-list .section-stack,
.section-stack,
div.section-stack {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
}

/* Section-header - sfondo nero */
.shopify-section--collection-list .section-header,
.section-header,
section-header {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
}

/* ============================================
   6. CIRCLE-BUTTON - BACKGROUND TRANSPARENT
   ============================================ */

/* Circle-button - sfondo trasparente (per non coprire nero) */
.shopify-section--collection-list .circle-button,
.circle-button,
button.circle-button {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Circle-button fill - sfondo trasparente */
.shopify-section--collection-list .circle-button--fill,
.circle-button--fill,
button.circle-button--fill {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* ============================================
   7. RESPONSIVE - MOBILE E TABLET
   ============================================ */

/* Mobile (max-width: 767px) */
@media (max-width: 767px) {
  /* Section collezioni - sfondo nero */
  .shopify-section--collection-list,
  .section.bg-gradient,
  .section-full,
  scroll-carousel,
  .scroll-area,
  .scroll-area.bleed,
  .collection-list,
  .floating-controls-container,
  .section-stack,
  .section-header {
    background: #000000 !important;
    background-color: #000000 !important;
    background-image: none !important;
  }
  
  /* Collection-card - sfondo trasparente */
  .collection-card,
  .collection-card.shadow,
  .collection-card.shadow.is-selected,
  .circle-button,
  .circle-button--fill {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
  }
}

/* Tablet (768px - 1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
  /* Section collezioni - sfondo nero */
  .shopify-section--collection-list,
  .section.bg-gradient,
  .section-full,
  scroll-carousel,
  .scroll-area,
  .scroll-area.bleed,
  .collection-list,
  .floating-controls-container,
  .section-stack,
  .section-header {
    background: #000000 !important;
    background-color: #000000 !important;
    background-image: none !important;
  }
  
  /* Collection-card - sfondo trasparente */
  .collection-card,
  .collection-card.shadow,
  .collection-card.shadow.is-selected,
  .circle-button,
  .circle-button--fill {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
  }
}

/* Desktop (min-width: 1024px) */
@media (min-width: 1024px) {
  /* Section collezioni - sfondo nero */
  .shopify-section--collection-list,
  .section.bg-gradient,
  .section-full,
  scroll-carousel,
  .scroll-area,
  .scroll-area.bleed,
  .collection-list,
  .floating-controls-container,
  .section-stack,
  .section-header {
    background: #000000 !important;
    background-color: #000000 !important;
    background-image: none !important;
  }
  
  /* Collection-card - sfondo trasparente */
  .collection-card,
  .collection-card.shadow,
  .collection-card.shadow.is-selected,
  .circle-button,
  .circle-button--fill {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
  }
}

/* ============================================
   WELLNESSTECHNOVA - COLLECTIONS BLACK BACKGROUND
   FINE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - SCROLL ARROW NEON
   CSS per freccetta scroll con linee neon animate
   Effetto: Freccia + linee flow verso il basso
   INSTALLAZIONE: Incolla in theme.css
   ============================================ */

/* ============================================
   1. SCROLL ARROW - BASE STYLING
   ============================================ */

/* Freccia scroll - trova selettore generico */
[class*="scroll-arrow"],
[class*="scroll-down"],
[class*="arrow-down"],
.scroll-indicator,
.scroll-hint,
a[href="#main-content"],
a[href*="scroll"] {
  position: relative !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 20px !important;
  z-index: 100 !important;
}

/* ============================================
   2. ARROW ICON - GLOW EFFECT
   ============================================ */

/* Icona freccia - glow cyan→magenta */
[class*="scroll-arrow"] svg,
[class*="scroll-down"] svg,
[class*="arrow-down"] svg,
.scroll-indicator svg,
.scroll-hint svg {
  filter: 
    drop-shadow(0 0 10px rgba(0, 255, 255, 0.6))
    drop-shadow(0 0 20px rgba(0, 255, 255, 0.4))
    drop-shadow(0 0 30px rgba(255, 0, 255, 0.3)) !important;
  animation: arrow-pulse 2s ease-in-out infinite !important;
  transition: all 0.3s ease !important;
}

/* Animazione pulse freccia */
@keyframes arrow-pulse {
  0%, 100% {
    transform: translateY(0);
    filter: 
      drop-shadow(0 0 10px rgba(0, 255, 255, 0.6))
      drop-shadow(0 0 20px rgba(0, 255, 255, 0.4))
      drop-shadow(0 0 30px rgba(255, 0, 255, 0.3));
  }
  50% {
    transform: translateY(10px);
    filter: 
      drop-shadow(0 0 15px rgba(0, 255, 255, 0.8))
      drop-shadow(0 0 30px rgba(0, 255, 255, 0.6))
      drop-shadow(0 0 45px rgba(255, 0, 255, 0.5));
  }
}

/* ============================================
   3. NEON LINES - ANIMATED TRAILS
   ============================================ */

/* Linee neon - create con ::before e ::after */
[class*="scroll-arrow"]::before,
[class*="scroll-down"]::before,
[class*="arrow-down"]::before,
.scroll-indicator::before,
.scroll-hint::before {
  content: "" !important;
  position: absolute !important;
  width: 2px !important;
  height: 60px !important;
  background: linear-gradient(
    to bottom,
    rgba(0, 255, 255, 0) 0%,
    rgba(0, 255, 255, 0.8) 50%,
    rgba(255, 0, 255, 0.8) 100%
  ) !important;
  top: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  box-shadow: 
    0 0 10px rgba(0, 255, 255, 0.6),
    0 0 20px rgba(0, 255, 255, 0.4),
    0 0 30px rgba(255, 0, 255, 0.3) !important;
  animation: neon-flow-1 2s ease-in-out infinite !important;
  z-index: -1 !important;
}

/* Seconda linea neon - offset */
[class*="scroll-arrow"]::after,
[class*="scroll-down"]::after,
[class*="arrow-down"]::after,
.scroll-indicator::after,
.scroll-hint::after {
  content: "" !important;
  position: absolute !important;
  width: 2px !important;
  height: 80px !important;
  background: linear-gradient(
    to bottom,
    rgba(0, 255, 255, 0) 0%,
    rgba(0, 255, 255, 0.6) 50%,
    rgba(255, 0, 255, 0.6) 100%
  ) !important;
  top: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  box-shadow: 
    0 0 15px rgba(0, 255, 255, 0.5),
    0 0 30px rgba(0, 255, 255, 0.3),
    0 0 45px rgba(255, 0, 255, 0.2) !important;
  animation: neon-flow-2 2s ease-in-out infinite 0.3s !important;
  z-index: -2 !important;
}

/* ============================================
   4. NEON FLOW ANIMATIONS
   ============================================ */

/* Animazione flow linea 1 */
@keyframes neon-flow-1 {
  0% {
    opacity: 0;
    height: 0px;
    top: 100%;
  }
  50% {
    opacity: 1;
    height: 60px;
    top: 100%;
  }
  100% {
    opacity: 0;
    height: 80px;
    top: 120%;
  }
}

/* Animazione flow linea 2 - offset */
@keyframes neon-flow-2 {
  0% {
    opacity: 0;
    height: 0px;
    top: 100%;
  }
  50% {
    opacity: 0.8;
    height: 80px;
    top: 100%;
  }
  100% {
    opacity: 0;
    height: 100px;
    top: 130%;
  }
}

/* ============================================
   5. HOVER EFFECT - AMPLIFIED
   ============================================ */

/* Hover - amplifica effetti */
[class*="scroll-arrow"]:hover svg,
[class*="scroll-down"]:hover svg,
[class*="arrow-down"]:hover svg,
.scroll-indicator:hover svg,
.scroll-hint:hover svg {
  filter: 
    drop-shadow(0 0 20px rgba(0, 255, 255, 0.9))
    drop-shadow(0 0 40px rgba(0, 255, 255, 0.7))
    drop-shadow(0 0 60px rgba(255, 0, 255, 0.6)) !important;
  transform: translateY(15px) scale(1.1) !important;
}

/* Hover - accelera animazioni */
[class*="scroll-arrow"]:hover::before,
[class*="scroll-down"]:hover::before,
[class*="arrow-down"]:hover::before,
.scroll-indicator:hover::before,
.scroll-hint:hover::before {
  animation-duration: 1.5s !important;
}

[class*="scroll-arrow"]:hover::after,
[class*="scroll-down"]:hover::after,
[class*="arrow-down"]:hover::after,
.scroll-indicator:hover::after,
.scroll-hint:hover::after {
  animation-duration: 1.5s !important;
}

/* ============================================
   6. MULTIPLE LINES - EXTRA TRAILS
   ============================================ */

/* Container per linee extra */
[class*="scroll-arrow"],
[class*="scroll-down"],
[class*="arrow-down"],
.scroll-indicator,
.scroll-hint {
  /* Aggiungi pseudo-elementi extra con JS o CSS custom properties */
  --neon-line-count: 3;
  --neon-line-spacing: 20px;
}

/* ============================================
   7. PARTICLES EFFECT - OPTIONAL
   ============================================ */

/* Particelle che seguono la freccia */
@keyframes particle-fall {
  0% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  100% {
    opacity: 0;
    transform: translateY(100px) scale(0.5);
  }
}

/* ============================================
   8. GLOW CIRCLE - BACKGROUND
   ============================================ */

/* Cerchio glow dietro freccia */
[class*="scroll-arrow"],
[class*="scroll-down"],
[class*="arrow-down"],
.scroll-indicator,
.scroll-hint {
  background: 
    radial-gradient(
      circle at center,
      rgba(0, 255, 255, 0.1) 0%,
      rgba(255, 0, 255, 0.05) 50%,
      transparent 100%
    ) !important;
  border-radius: 50% !important;
  animation: glow-pulse 3s ease-in-out infinite !important;
}

@keyframes glow-pulse {
  0%, 100% {
    box-shadow: 
      0 0 20px rgba(0, 255, 255, 0.3),
      0 0 40px rgba(0, 255, 255, 0.2),
      0 0 60px rgba(255, 0, 255, 0.1);
  }
  50% {
    box-shadow: 
      0 0 30px rgba(0, 255, 255, 0.5),
      0 0 60px rgba(0, 255, 255, 0.4),
      0 0 90px rgba(255, 0, 255, 0.3);
  }
}

/* ============================================
   9. TEXT LABEL - OPTIONAL
   ============================================ */

/* Testo "Scroll" sotto freccia */
[class*="scroll-arrow"] span,
[class*="scroll-down"] span,
[class*="arrow-down"] span,
.scroll-indicator span,
.scroll-hint span {
  color: #00FFFF !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  margin-top: 12px !important;
  text-shadow: 
    0 0 10px rgba(0, 255, 255, 0.6),
    0 0 20px rgba(0, 255, 255, 0.4) !important;
  animation: text-pulse 2s ease-in-out infinite !important;
}

@keyframes text-pulse {
  0%, 100% {
    opacity: 0.7;
  }
  50% {
    opacity: 1;
  }
}

/* ============================================
   10. RESPONSIVE - MOBILE
   ============================================ */

@media (max-width: 767px) {
  /* Freccia più piccola su mobile */
  [class*="scroll-arrow"] svg,
  [class*="scroll-down"] svg,
  [class*="arrow-down"] svg,
  .scroll-indicator svg,
  .scroll-hint svg {
    width: 24px !important;
    height: 24px !important;
  }
  
  /* Linee più corte */
  [class*="scroll-arrow"]::before,
  [class*="scroll-down"]::before,
  [class*="arrow-down"]::before,
  .scroll-indicator::before,
  .scroll-hint::before {
    height: 40px !important;
  }
  
  [class*="scroll-arrow"]::after,
  [class*="scroll-down"]::after,
  [class*="arrow-down"]::after,
  .scroll-indicator::after,
  .scroll-hint::after {
    height: 60px !important;
  }
}

/* ============================================
   11. ALTERNATIVE STYLE - DASHED LINES
   ============================================ */

/* Linee tratteggiate invece di solide */
.scroll-arrow-dashed::before,
.scroll-arrow-dashed::after {
  background: repeating-linear-gradient(
    to bottom,
    rgba(0, 255, 255, 0.8) 0px,
    rgba(0, 255, 255, 0.8) 5px,
    transparent 5px,
    transparent 10px,
    rgba(255, 0, 255, 0.8) 10px,
    rgba(255, 0, 255, 0.8) 15px,
    transparent 15px,
    transparent 20px
  ) !important;
}

/* ============================================
   12. ALTERNATIVE STYLE - DOUBLE LINES
   ============================================ */

/* Linee doppie parallele */
.scroll-arrow-double::before {
  width: 2px !important;
  left: calc(50% - 4px) !important;
}

.scroll-arrow-double::after {
  width: 2px !important;
  left: calc(50% + 4px) !important;
}

/* ============================================
   13. CLICK EFFECT - RIPPLE
   ============================================ */

/* Effetto ripple al click */
[class*="scroll-arrow"]:active,
[class*="scroll-down"]:active,
[class*="arrow-down"]:active,
.scroll-indicator:active,
.scroll-hint:active {
  animation: ripple-effect 0.6s ease-out !important;
}

@keyframes ripple-effect {
  0% {
    box-shadow: 
      0 0 0 0 rgba(0, 255, 255, 0.7),
      0 0 0 0 rgba(255, 0, 255, 0.7);
  }
  100% {
    box-shadow: 
      0 0 0 50px rgba(0, 255, 255, 0),
      0 0 0 50px rgba(255, 0, 255, 0);
  }
}

/* ============================================
   WELLNESSTECHNOVA - SCROLL ARROW NEON
   FINE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - COMPARE SECTION CSS
   CSS PRECISO basato su selettori HTML reali
   
   SELETTORI ESTRATTI DAL SITO:
   - Sezione: .shopify-section--feature-chart
   - ID: #shopify-section-template--27579668726092__section-15
   - Container: .section-blends.section-full
   - Layout: .section-stack--horizontal
   - Intro: .section-stack__intro
   - Prose: .section-stack__intro .prose
   - Subheading: .subheading
   - Titolo: .h2
   - Bottone: .button.button--lg
   - Feature Chart: feature-chart, .feature-chart
   - Tabella: .feature-chart__table
   - Riga: .feature-chart__table-row
   - Heading: .feature-chart__heading
   - Valore: .feature-chart__value
   
   INSTALLAZIONE: Incolla in Assets/theme.css
   ============================================ */

/* ============================================
   1. SEZIONE PRINCIPALE - BACKGROUND
   ============================================ */

/* Sezione Compare - background nero */
.shopify-section--feature-chart {
  background: #000000 !important;
  background-color: #000000 !important;
}

.shopify-section--feature-chart .section-blends.section-full,
.shopify-section--feature-chart .section.section-blends.section-full {
  background: #000000 !important;
  background-color: #000000 !important;
}

/* ============================================
   2. SUBHEADING "COMPARE" - BORDO GRADIENT
   ============================================ */

/* Subheading "Compare" - bordo gradient animato */
.shopify-section--feature-chart .subheading {
  display: inline-block !important;
  padding: 12px 28px !important;
  border: 2px solid transparent !important;
  background: 
    linear-gradient(#000000, #000000) padding-box,
    linear-gradient(135deg, #00FFFF, #FF00FF, #00FFFF) border-box !important;
  background-size: 100% 100%, 300% 100% !important;
  border-radius: 50px !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  animation: compareSubheadingGradient 4s linear infinite !important;
  box-shadow: 
    0 0 15px rgba(0, 255, 255, 0.3),
    0 0 30px rgba(255, 0, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

@keyframes compareSubheadingGradient {
  0% {
    background-position: 0% 50%, 0% 50%;
  }
  50% {
    background-position: 0% 50%, 150% 50%;
  }
  100% {
    background-position: 0% 50%, 300% 50%;
  }
}

/* Subheading hover */
.shopify-section--feature-chart .subheading:hover {
  box-shadow: 
    0 0 25px rgba(0, 255, 255, 0.5),
    0 0 50px rgba(255, 0, 255, 0.4) !important;
  transform: scale(1.05) !important;
}

/* ============================================
   3. TITOLO H2 - GLOW EFFECT
   ============================================ */

/* Titolo "Highlight key differences at a glance" */
.shopify-section--feature-chart .h2,
.shopify-section--feature-chart h2.h2 {
  color: #00FFFF !important;
  text-shadow: 
    0 0 10px rgba(0, 255, 255, 0.6),
    0 0 20px rgba(0, 255, 255, 0.4),
    0 0 40px rgba(0, 255, 255, 0.2) !important;
  animation: compareTitleGlow 4s ease-in-out infinite !important;
  transition: all 0.3s ease !important;
}

@keyframes compareTitleGlow {
  0%, 100% {
    text-shadow: 
      0 0 10px rgba(0, 255, 255, 0.6),
      0 0 20px rgba(0, 255, 255, 0.4),
      0 0 40px rgba(0, 255, 255, 0.2);
  }
  50% {
    text-shadow: 
      0 0 15px rgba(0, 255, 255, 0.8),
      0 0 30px rgba(0, 255, 255, 0.6),
      0 0 60px rgba(0, 255, 255, 0.4);
  }
}

/* ============================================
   4. BOTTONE "LEARN MORE" - ENHANCED
   ============================================ */

/* Bottone Learn More */
.shopify-section--feature-chart .button.button--lg {
  border: 2px solid transparent !important;
  background: 
    linear-gradient(#000000, #000000) padding-box,
    linear-gradient(135deg, #00FFFF, #FF00FF) border-box !important;
  border-radius: 12px !important;
  padding: 16px 32px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #ffffff !important;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
  position: relative !important;
  overflow: hidden !important;
  animation: compareButtonGlow 3s ease-in-out infinite !important;
}

@keyframes compareButtonGlow {
  0%, 100% {
    box-shadow: 
      0 0 15px rgba(0, 255, 255, 0.4),
      0 0 30px rgba(255, 0, 255, 0.3);
  }
  50% {
    box-shadow: 
      0 0 25px rgba(0, 255, 255, 0.6),
      0 0 50px rgba(255, 0, 255, 0.5);
  }
}

/* Bottone hover */
.shopify-section--feature-chart .button.button--lg:hover {
  transform: translateY(-3px) scale(1.05) !important;
  box-shadow: 
    0 0 30px rgba(0, 255, 255, 0.8),
    0 0 60px rgba(255, 0, 255, 0.6),
    0 15px 40px rgba(0, 0, 0, 0.4) !important;
}

/* Shimmer effect */
.shopify-section--feature-chart .button.button--lg::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.2) 50%,
    transparent 100%
  ) !important;
  animation: compareButtonShimmer 3s ease-in-out infinite !important;
}

@keyframes compareButtonShimmer {
  0% {
    left: -100%;
  }
  50%, 100% {
    left: 100%;
  }
}

/* ============================================
   5. FEATURE CHART - BORDO GRADIENT
   ============================================ */

/* Feature chart container - bordo gradient animato */
.shopify-section--feature-chart feature-chart,
.shopify-section--feature-chart .feature-chart {
  border: 2px solid transparent !important;
  background: 
    linear-gradient(rgb(13, 13, 13), rgb(13, 13, 13)) padding-box,
    linear-gradient(90deg, #00FFFF, #FF00FF, #00FFFF) border-box !important;
  background-size: 100% 100%, 200% 100% !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  animation: compareChartBorder 4s linear infinite !important;
  box-shadow: 
    0 0 20px rgba(0, 255, 255, 0.2),
    0 0 40px rgba(255, 0, 255, 0.15),
    inset 0 0 60px rgba(0, 0, 0, 0.3) !important;
}

@keyframes compareChartBorder {
  0% {
    background-position: 0% 50%, 0% 50%;
  }
  50% {
    background-position: 0% 50%, 100% 50%;
  }
  100% {
    background-position: 0% 50%, 200% 50%;
  }
}

/* ============================================
   6. TABELLA - STYLING
   ============================================ */

/* Tabella container */
.shopify-section--feature-chart .feature-chart__table {
  background: transparent !important;
}

/* Righe tabella */
.shopify-section--feature-chart .feature-chart__table-row {
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
  position: relative !important;
  border-bottom: 1px solid rgba(0, 255, 255, 0.15) !important;
}

/* Righe hover */
.shopify-section--feature-chart .feature-chart__table-row:hover {
  background: linear-gradient(
    90deg,
    rgba(0, 255, 255, 0.08) 0%,
    rgba(255, 0, 255, 0.08) 50%,
    rgba(0, 255, 255, 0.08) 100%
  ) !important;
  transform: translateX(8px) !important;
  box-shadow: 
    inset 0 0 30px rgba(0, 255, 255, 0.1),
    0 5px 20px rgba(0, 255, 255, 0.15) !important;
}

/* ============================================
   7. CELLE TABELLA - STYLING
   ============================================ */

/* Heading celle (Driver, Weight, etc.) */
.shopify-section--feature-chart .feature-chart__heading {
  color: #00FFFF !important;
  font-weight: 700 !important;
  text-shadow: 0 0 10px rgba(0, 255, 255, 0.4) !important;
  padding: 20px 24px !important;
  transition: all 0.3s ease !important;
}

/* Heading hover */
.shopify-section--feature-chart .feature-chart__table-row:hover .feature-chart__heading {
  text-shadow: 0 0 15px rgba(0, 255, 255, 0.6) !important;
}

/* Valori celle */
.shopify-section--feature-chart .feature-chart__value {
  padding: 20px 24px !important;
  transition: all 0.3s ease !important;
}

.shopify-section--feature-chart .feature-chart__value p {
  color: rgba(255, 255, 255, 0.85) !important;
  margin: 0 !important;
}

/* Valori hover */
.shopify-section--feature-chart .feature-chart__table-row:hover .feature-chart__value p {
  color: #ffffff !important;
}

/* ============================================
   8. PROSE CONTAINER - STYLING
   ============================================ */

/* Prose container */
.shopify-section--feature-chart .section-stack__intro .prose {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 20px !important;
}

/* Descrizione testo */
.shopify-section--feature-chart .section-stack__intro .prose > p:not(.subheading) {
  color: rgba(255, 255, 255, 0.8) !important;
  line-height: 1.7 !important;
  font-size: 17px !important;
}

/* ============================================
   9. LAYOUT RESPONSIVE
   ============================================ */

@media (max-width: 767px) {
  /* Subheading più piccolo */
  .shopify-section--feature-chart .subheading {
    padding: 10px 20px !important;
    font-size: 12px !important;
  }
  
  /* Titolo più piccolo */
  .shopify-section--feature-chart .h2 {
    font-size: 28px !important;
  }
  
  /* Celle più piccole */
  .shopify-section--feature-chart .feature-chart__heading,
  .shopify-section--feature-chart .feature-chart__value {
    padding: 15px 16px !important;
  }
  
  /* Hover ridotto su mobile */
  .shopify-section--feature-chart .feature-chart__table-row:hover {
    transform: translateX(4px) !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  /* Tablet adjustments */
  .shopify-section--feature-chart .h2 {
    font-size: 36px !important;
  }
}

/* ============================================
   10. ACCESSIBILITÀ
   ============================================ */

/* Focus states */
.shopify-section--feature-chart .button.button--lg:focus-visible {
  outline: 2px solid #00FFFF !important;
  outline-offset: 4px !important;
  box-shadow: 0 0 20px rgba(0, 255, 255, 0.6) !important;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .shopify-section--feature-chart .subheading,
  .shopify-section--feature-chart .h2,
  .shopify-section--feature-chart .button.button--lg,
  .shopify-section--feature-chart feature-chart,
  .shopify-section--feature-chart .feature-chart {
    animation: none !important;
  }
  
  .shopify-section--feature-chart .feature-chart__table-row:hover {
    transform: none !important;
  }
}

/* ============================================
   WELLNESSTECHNOVA - COMPARE SECTION CSS
   FINE
   ============================================ */

   /* ============================================
   WELLNESSTECHNOVA - RIDUZIONE SPAZIO
   Tra Sezione Collezioni e Sezione Prodotti
   
   PROBLEMA IDENTIFICATO:
   - Sezione Collezioni: padding-bottom 80px
   - Sezione Prodotti: padding-top 80px
   - Totale spazio vuoto: ~160px
   
   SOLUZIONE:
   - Ridurre padding-bottom collezioni
   - Ridurre padding-top prodotti
   
   SELETTORI ESTRATTI DAL SITO:
   - Collezioni: .shopify-section--collection-list
   - Prodotti: .shopify-section--featured-collection
   
   INSTALLAZIONE: Incolla in Assets/theme.css
   ============================================ */

/* ============================================
   1. SEZIONE COLLEZIONI - RIDURRE PADDING BOTTOM
   ============================================ */

/* Sezione collezioni - ridurre padding bottom */
.shopify-section--collection-list .section,
.shopify-section--collection-list .section.section-full,
.shopify-section--collection-list .section.section-full.bg-gradient {
  padding-bottom: 20px !important;
}

/* ID specifico per maggiore specificità */
#shopify-section-template--27579668726092__section-4 .section {
  padding-bottom: 20px !important;
}

/* ============================================
   2. SEZIONE PRODOTTI - RIDURRE PADDING TOP
   ============================================ */

/* Sezione prodotti - ridurre padding top */
.shopify-section--featured-collection .section,
.shopify-section--featured-collection .section.section-full,
.shopify-section--featured-collection .section.section-blends {
  padding-top: 20px !important;
}

/* ID specifico per maggiore specificità */
#shopify-section-template--27579668726092__featured_collection_FWXXqP .section {
  padding-top: 20px !important;
}

/* ============================================
   3. MARGIN TRA SEZIONI
   ============================================ */

/* Rimuovere margin tra le sezioni */
.shopify-section--collection-list {
  margin-bottom: 0 !important;
}

.shopify-section--featured-collection {
  margin-top: 0 !important;
}

/* ============================================
   4. VERSIONE ALTERNATIVA - SPAZIO MEDIO
   Se 20px è troppo poco, usa questi valori:
   ============================================ */

/*
.shopify-section--collection-list .section {
  padding-bottom: 40px !important;
}

.shopify-section--featured-collection .section {
  padding-top: 40px !important;
}
*/

/* ============================================
   5. VERSIONE ALTERNATIVA - SPAZIO MINIMO
   Per spazio ancora più ridotto:
   ============================================ */

/*
.shopify-section--collection-list .section {
  padding-bottom: 10px !important;
}

.shopify-section--featured-collection .section {
  padding-top: 10px !important;
}
*/

/* ============================================
   6. RESPONSIVE - MOBILE
   ============================================ */

@media (max-width: 767px) {
  /* Mobile - spazio ancora più ridotto */
  .shopify-section--collection-list .section,
  .shopify-section--collection-list .section.section-full {
    padding-bottom: 15px !important;
  }
  
  .shopify-section--featured-collection .section,
  .shopify-section--featured-collection .section.section-full {
    padding-top: 15px !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  /* Tablet - spazio medio */
  .shopify-section--collection-list .section,
  .shopify-section--collection-list .section.section-full {
    padding-bottom: 18px !important;
  }
  
  .shopify-section--featured-collection .section,
  .shopify-section--featured-collection .section.section-full {
    padding-top: 18px !important;
  }
}

/* ============================================
   WELLNESSTECHNOVA - RIDUZIONE SPAZIO
   FINE
   
   RISULTATO:
   PRIMA: 80px + 80px = 160px di spazio
   DOPO: 20px + 20px = 40px di spazio
   RISPARMIO: 120px di spazio vuoto eliminato!
   ============================================ */