/** Shopify CDN: Minification failed

Line 6557:1 Unexpected "{"
Line 6563:59 Unexpected "{"
Line 6586:0 Unexpected "}"
Line 6595:1 Unexpected "{"
Line 7091:12 Expected identifier but found whitespace
Line 7091:13 Unexpected "("
Line 8285:4 Expected identifier but found "."

**/
@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
}

body {
  width: 100%;
  min-width: 320px;
  margin: 0;
  overflow-x: hidden;
  background-color: rgba(var(--bg-color));
  overflow-wrap: break-word;
  overflow-wrap: anywhere;
}
body.fixed {
  padding-right: var(--scrollbar-width);
}
body.overflow-hidden {
  padding-right: var(--scrollbar-width);
}
body.overflow-hidden::after {
  content: "";
  position: absolute;
  z-index: 29;
  right: 0;
  bottom: 0;
  width: var(--scrollbar-width, 0);
  height: 100%;
  background: #e4e4e4;
}
body.overlay-predictive-search {
  overflow: hidden;
}

summary {
  overflow: hidden;
  list-style: none;
  cursor: pointer;
}

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

mark {
  background-color: transparent;
  color: inherit;
  font-weight: bold;
}

.color-scheme--1 {
  --bg-color: var(--color-scheme-1-bg);
  --bg-grad: var(--color-scheme-1-grad, "none");
  --btn-bg-color: var(--color-scheme-1-btn-bg);
  --btn-bg-hover-color: var(--color-scheme-1-btn-bg-hover);
  --btn-text-color: var(--color-scheme-1-btn-text);
  --heading-color: var(--color-scheme-1-heading);
  --scrollbar-color: var(--color-scheme-1-text);
  --swatch-border-color-active: var(--color-scheme-1-text);
  --swatch-border-color-default: var(--color-scheme-1-text);
  --text-color: var(--color-scheme-1-text);
  --coll-card-border-color: rgb(var(--color-scheme-1-heading));
}

.color-scheme--2 {
  --bg-color: var(--color-scheme-2-bg);
  --bg-grad: var(--color-scheme-2-grad, "none");
  --btn-bg-color: var(--color-scheme-2-btn-bg);
  --btn-bg-hover-color: var(--color-scheme-2-btn-bg-hover);
  --btn-text-color: var(--color-scheme-2-btn-text);
  --heading-color: var(--color-scheme-2-heading);
  --scrollbar-color: var(--color-scheme-2-text);
  --swatch-border-color-active: var(--color-scheme-2-text);
  --swatch-border-color-default: var(--color-scheme-2-text);
  --text-color: var(--color-scheme-2-text);
  --coll-card-border-color: rgb(var(--color-scheme-2-heading));
}

.color-scheme--3 {
  --bg-color: var(--color-scheme-3-bg);
  --bg-grad: var(--color-scheme-3-grad, "none");
  --btn-bg-color: var(--color-scheme-3-btn-bg);
  --btn-bg-hover-color: var(--color-scheme-3-btn-bg-hover);
  --btn-text-color: var(--color-scheme-3-btn-text);
  --heading-color: var(--color-scheme-3-heading);
  --scrollbar-color: var(--color-scheme-3-text);
  --swatch-border-color-active: var(--color-scheme-3-text);
  --swatch-border-color-default: var(--color-scheme-3-text);
  --text-color: var(--color-scheme-3-text);
  --coll-card-border-color: rgb(var(--color-scheme-3-heading));
}

.color-scheme--white:not(.mobile-stacked) {
  --bg-color: 0 0 0 0;
  --btn-bg-color: var(--color-scheme-white-text, 255 255 255);
  --btn-bg-hover-color: var(--color-scheme-white-hover, 230 230 230);
  --btn-text-color: var(--color-scheme-white-text-contrast, 0 0 0);
  --heading-color: var(--color-scheme-white-text, 255 255 255);
  --scrollbar-color: var(--color-scheme-white-text, 255 255 255);
  --swatch-border-color-active: var(--color-scheme-white-text, 255 255 255);
  --swatch-border-color-default: var(--color-scheme-white-text, 255 255 255);
  --text-color: var(--color-scheme-white-text, 255 255 255);
}

.color-scheme {
  background: var(--bg-grad);
  background-color: rgba(var(--bg-color));
  color: rgb(var(--text-color));
}
.color-scheme .section__heading,
.color-scheme .section__block--heading,
.color-scheme .section__block--subheading,
.color-scheme .text-overlay__heading,
.color-scheme .text-overlay__subheading,
.color-scheme .card__title {
  color: rgb(var(--heading-color));
}
.color-scheme a:not(.btn),
.color-scheme button.link {
  color: inherit;
}
.color-scheme .custom-select__btn,
.color-scheme .price-range__input-wrapper,
.color-scheme .input,
.color-scheme .input-with-button,
.color-scheme .select::after {
  --input-bg-color: var(--bg-color);
  --input-text-color: var(--text-color);
}
.color-scheme:not(.color-scheme--no-btns) .btn--secondary {
  --btn-alt-bg-alpha: 0;
  --btn-alt-text-color: var(--btn-bg-color);
  background-color: transparent;
}
.color-scheme:not(.color-scheme--no-btns) .is-loading {
  --btn-alt-text-color: var(--btn-bg-color);
  --text-color: var(--btn-bg-color);
}
.color-scheme:not(.color-scheme--no-btns) .qty-input {
  --btn-alt-text-color: var(--btn-bg-color);
  --input-text-color: var(--btn-bg-color);
  border-color: rgb(var(--btn-bg-color));
  background-color: transparent;
}

@media (min-width: 600px) {
  .color-scheme--white {
    --bg-color: 0 0 0 0;
    --btn-bg-color: var(--color-scheme-white-text, 255 255 255);
    --btn-bg-hover-color: var(--color-scheme-white-hover, 230 230 230);
    --btn-text-color: var(--color-scheme-white-text-contrast, 0 0 0);
    --heading-color: var(--color-scheme-white-text, 255 255 255);
    --scrollbar-color: var(--color-scheme-white-text, 255 255 255);
    --swatch-border-color-active: var(--color-scheme-white-text, 255 255 255);
    --swatch-border-color-default: var(--color-scheme-white-text, 255 255 255);
    --text-color: var(--color-scheme-white-text, 255 255 255);
  }
}
:root {
  --fluid-vw: 100vw;
  --fluid-max-vw: 1536;
  --fluid-calc: (var(--fluid-vw) - 32rem) / (var(--fluid-max-vw) / 10 - 32) + 0.1rem;
  --fluid-1-065: ((1.065 / 10 - 0.1) * var(--fluid-calc));
  --fluid-1-125: ((1.125 / 10 - 0.1) * var(--fluid-calc));
  --fluid-1-2: ((1.2 / 10 - 0.1) * var(--fluid-calc));
  --fluid-1-25: ((1.25 / 10 - 0.1) * var(--fluid-calc));
  --fluid-1-3: ((1.3 / 10 - 0.1) * var(--fluid-calc));
  --fluid-1-4: ((1.4 / 10 - 0.1) * var(--fluid-calc));
  --fluid-1-5: ((1.5 / 10 - 0.1) * var(--fluid-calc));
}

@media (min-width: 1536px) {
  :root {
    --fluid-vw: calc(var(--fluid-max-vw) * 1px);
  }
}
:focus {
  outline: 0;
}

:focus-visible,
.focus-label:focus-visible + label,
.focus-label-before:focus-visible + label::before {
  outline: auto Highlight;
  outline: auto -webkit-focus-ring-color;
}

.is-focused,
.focus-label.is-focused + label,
.focus-label-before.is-focused + label::before,
.no-js :focus,
.no-js .focus-label:focus + label,
.no-js .focus-label-before:focus + label::before {
  outline: auto Highlight;
  outline: auto -webkit-focus-ring-color;
}

.no-js :focus:not(:focus-visible),
.no-js .focus-label:focus:not(:focus-visible) + label,
.no-js .focus-label-before:focus:not(:focus-visible) + label::before {
  outline: 0;
}

.focus-inset:focus-visible {
  outline-offset: -2px;
}

.focus-inset.is-focused,
.no-js .focus-inset:focus {
  outline-offset: -2px;
}

:root {
  --column-gap: var(--grid-column-gap);
  --gutter: var(--gutter-sm, 20px);
  --row-gap: calc(10 * var(--space-unit));
  --space-unit: 0.4rem;
  --viewport-width: calc(100vw - var(--scrollbar-width, 0));
}

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

.page-width {
  width: var(--page-width, 1000px);
  max-width: var(--page-width, 1000px);
  margin-right: auto;
  margin-left: auto;
}

.reading-width {
  max-width: var(--reading-width, 48em);
  margin-right: auto;
  margin-left: auto;
}

.reading-width--inline {
  max-width: var(--reading-width, 48em);
}

.form-width {
  max-width: 26em;
}

.screen-height {
  min-height: var(--viewport-height, 100vh);
}
.shopify-section:first-child .screen-height {
  min-height: calc(var(--viewport-height, 100vh) - var(--content-start, 200px));
}

@media (min-width: 600px) {
  :root {
    --column-gap: calc(var(--grid-column-gap) * 1.6);
    --gutter: var(--gutter-md, 32px);
  }
}
@media (min-width: 1280px) {
  :root {
    --gutter: var(--gutter-lg, 80px);
  }
}
.section {
  display: block;
  width: 100%;
  margin: calc(var(--section-gap) * var(--fluid-1-5)) auto;
  padding-bottom: 0.02px;
}
.section:empty {
  margin-top: 0;
  margin-bottom: 0;
}

.section--template {
  margin: calc(var(--section-gap) * var(--fluid-1-5)) auto;
}

.section--full-width {
  margin: 0;
}

.section--padded,
.section--padded-default {
  padding: calc(var(--section-gap) * var(--fluid-1-5)) 0;
}

.section--padded-xsmall {
  padding-top: calc(3 * var(--space-unit));
  padding-bottom: calc(3 * var(--space-unit));
}

.section--padded-small {
  padding-top: calc(6 * var(--space-unit));
  padding-bottom: calc(6 * var(--space-unit));
}

.section--padded-medium {
  padding-top: calc(8 * var(--space-unit));
  padding-bottom: calc(8 * var(--space-unit));
}

.section__header,
.section__heading {
  max-width: 100%;
  margin-bottom: var(--heading-gap);
}

.mb-heading {
  margin-bottom: var(--heading-gap);
}

.section-header .link {
  margin-top: 6px;
  margin-bottom: 6px;
}

.section__header--center {
  grid-template-columns: 1fr auto 1fr;
}

.section__block {
  max-width: 100%;
  margin-bottom: calc(4 * var(--space-unit));
}
.section__block:last-child {
  margin-bottom: 0;
}
.section__block.reading-width--inline {
  max-width: var(--reading-width, 48em);
}

.section__block + .section__block--button {
  margin-top: calc(6 * var(--space-unit));
}

.section__block + .section__block--buttons {
  margin-top: calc(4 * var(--space-unit));
}

.section__block--buttons {
  align-items: flex-end;
  column-gap: calc(4 * var(--space-unit));
  row-gap: calc(4 * var(--space-unit));
}

.shopify-policy__container,
.shopify-challenge__container,
.shopify-email-marketing-confirmation__container {
  max-width: var(--reading-width, 48em) !important;
  padding: calc(var(--section-gap) * var(--fluid-1-5)) var(--gutter) !important;
}

.shopify-policy__title {
  text-align: var(--heading-align) !important;
}

.shopify-challenge__button {
  margin-top: calc(8 * var(--space-unit)) !important;
}

.cc-apps:not(:has(.shopify-app-block)) {
  display: none;
}

@media (max-width: 1023.98px) {
  .section__header--center {
    grid-template-columns: 1fr;
    grid-template-rows: 2;
  }
}
@media (min-width: 1024px) {
  .section__block + .section__block--button {
    margin-top: calc(8 * var(--space-unit));
  }
  .section--padded-xsmall {
    padding-top: calc(2 * var(--space-unit));
    padding-bottom: calc(2 * var(--space-unit));
  }
  .section--padded-small {
    padding-top: calc(4 * var(--space-unit));
    padding-bottom: calc(4 * var(--space-unit));
  }
  .section--padded-medium {
    padding-top: calc(6 * var(--space-unit));
    padding-bottom: calc(6 * var(--space-unit));
  }
}
:root {
  --heading-type-scale: 1.2;
  --h6: calc(var(--body-font-size) + var(--heading-scale-start));
  --h5: var(--h6) * var(--heading-type-scale);
  --h4: var(--h5) * var(--heading-type-scale);
  --h3: var(--h4) * var(--heading-type-scale);
  --h2: var(--h3) * var(--heading-type-scale);
  --h1: var(--h2) * var(--heading-type-scale);
  --h0: var(--h1) * var(--heading-type-scale);
  --h6-font-size: calc((var(--h6) / 1.065) * var(--fluid-1-065));
  --h5-font-size: calc((var(--h5) / 1.125) * var(--fluid-1-125));
  --h4-font-size: calc((var(--h4) / 1.2) * var(--fluid-1-2));
  --h3-font-size: calc((var(--h3) / 1.3) * var(--fluid-1-3));
  --h2-font-size: calc((var(--h2) / 1.4) * var(--fluid-1-4));
  --h1-font-size: calc((var(--h1) / 1.5) * var(--fluid-1-5));
  --h0-font-size: calc((var(--h0) / 1.5) * var(--fluid-1-5));
}

body {
  color: rgb(var(--text-color));
  font-family: var(--body-font-family);
  font-size: calc(var(--body-font-size) * 0.1rem);
  font-style: var(--body-font-style);
  font-weight: var(--body-font-weight);
  line-height: 1.5;
}

.h0,
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
.font-heading {
  margin: 0 0 0.5em;
  color: rgb(var(--heading-color));
  font-family: var(--heading-font-family);
  font-style: var(--heading-font-style);
  font-weight: var(--heading-font-weight);
  line-height: calc(4px + 2.4ex);
  text-transform: var(--heading-text-transform);
}

.h0,
.text-h0 {
  font-size: var(--h0-font-size);
  line-height: 1.25;
}

h1,
.h1,
.text-h1 {
  font-size: var(--h1-font-size);
  line-height: 1.25;
}

h2,
.h2,
.text-h2 {
  font-size: var(--h2-font-size);
  line-height: 1.3;
}

h3,
.h3,
.text-h3 {
  font-size: var(--h3-font-size);
  line-height: 1.3;
}

h4,
.h4,
.text-h4 {
  font-size: var(--h4-font-size);
  line-height: 1.3;
}

h5,
.h5,
.text-h5 {
  font-size: var(--h5-font-size);
  line-height: 1.3;
}

h6,
.h6,
.text-h6 {
  font-size: var(--h6-font-size);
  line-height: 1.4;
}

.font-body {
  color: rgb(var(--text-color));
  font-family: var(--body-font-family);
  font-style: var(--body-font-style);
  font-weight: var(--body-font-weight);
  line-height: 1.5;
  text-transform: initial;
}

p {
  margin: 0 0 1em;
}
p:empty {
  display: none;
}

hr {
  width: 100%;
  height: 1px;
  margin: calc(6 * var(--space-unit)) 0;
  border: 0;
  background-color: rgba(var(--text-color)/0.15);
}

address {
  font-style: normal;
}

.text-body-extra_small {
  font-size: 0.8em;
}

.text-body-small {
  font-size: 0.9em;
}

.text-body-large {
  font-size: 1.1em;
}

.text-body-extra_large {
  font-size: 1.2em;
}

.small-text {
  font-size: 0.875em;
}

.regular-text {
  font-size: 1em;
}

.enlarge-text {
  font-size: 1.25em;
}
.enlarge-text.reading-width, .enlarge-text.reading-width--inline {
  max-width: calc(var(--reading-width, 48em) * 0.75);
}

.large-text {
  font-size: 2rem;
}

.subheading {
  color: rgb(var(--heading-color));
  font-family: var(--heading-font-family);
  font-style: var(--heading-font-style);
  font-weight: var(--heading-font-weight);
  text-transform: var(--subheading-text-transform);
}
.subheading:not(:last-child) {
  margin-bottom: 1em;
}

.subheading-case {
  text-transform: var(--subheading-text-transform, none);
}

.contained-heading {
  max-width: 540px;
}

.rte::after {
  content: "";
  display: block;
  clear: both;
}
.rte > p:last-child {
  margin-bottom: 0;
}
.rte h1,
.rte h2,
.rte h3,
.rte h4,
.rte h5,
.rte h6 {
  color: rgb(var(--heading-color));
}
.rte h1:not(:first-child),
.rte h2:not(:first-child),
.rte h3:not(:first-child),
.rte h4:not(:first-child),
.rte h5:not(:first-child),
.rte h6:not(:first-child) {
  margin-top: 0.2em;
}
.rte h1:not(:last-child),
.rte h2:not(:last-child),
.rte h3:not(:last-child),
.rte h4:not(:last-child),
.rte h5:not(:last-child),
.rte h6:not(:last-child) {
  margin-bottom: 0.2em;
}
.rte iframe {
  max-width: 100%;
}

.rte--inherit-heading-color h1,
.rte--inherit-heading-color h2,
.rte--inherit-heading-color h3,
.rte--inherit-heading-color h4,
.rte--inherit-heading-color h5,
.rte--inherit-heading-color h6 {
  color: inherit;
}

@media (max-width: 599.98px) {
  .xs\:regular-text {
    font-size: 1em;
  }
  .xs\:text-h6 {
    font-size: var(--h6-font-size);
    line-height: 1.4;
  }
}
@media (min-width: 1024px) {
  .enlarge-text {
    font-size: 1.5em;
  }
  .contained-heading {
    max-width: 865px;
  }
}
.sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none{
  pointer-events: none;
}
.pointer-events-auto{
  pointer-events: auto;
}
.visible{
  visibility: visible;
}
.invisible{
  visibility: hidden;
}
.fixed{
  position: fixed;
}
.absolute{
  position: absolute;
}
.relative{
  position: relative;
}
.sticky{
  position: sticky;
}
.inset-0{
  inset: 0;
}
.bottom-0{
  bottom: 0;
}
.left-0{
  left: 0;
}
.right-0{
  right: 0;
}
.top-0{
  top: 0;
}
.z-10{
  z-index: 10;
}
.col-span-2{
  grid-column: span 2 / span 2;
}
.col-span-full{
  grid-column: 1 / -1;
}
.col-start-1{
  grid-column-start: 1;
}
.col-end-3{
  grid-column-end: 3;
}
.row-span-2{
  grid-row: span 2 / span 2;
}
.row-span-3{
  grid-row: span 3 / span 3;
}
.m-0{
  margin: 0;
}
.mx-auto{
  margin-left: auto;
  margin-right: auto;
}
.mb-0{
  margin-bottom: 0;
}
.mb-1{
  margin-bottom: var(--space-unit);
}
.mb-10{
  margin-bottom: calc(10 * var(--space-unit));
}
.mb-12{
  margin-bottom: calc(12 * var(--space-unit));
}
.mb-16{
  margin-bottom: calc(16 * var(--space-unit));
}
.mb-2{
  margin-bottom: calc(2 * var(--space-unit));
}
.mb-3{
  margin-bottom: calc(3 * var(--space-unit));
}
.mb-4{
  margin-bottom: calc(4 * var(--space-unit));
}
.mb-5{
  margin-bottom: calc(5 * var(--space-unit));
}
.mb-6{
  margin-bottom: calc(6 * var(--space-unit));
}
.mb-8{
  margin-bottom: calc(8 * var(--space-unit));
}
.mb-section{
  margin-bottom: calc(var(--section-gap) * var(--fluid-1-5));
}
.ml-2{
  margin-left: calc(2 * var(--space-unit));
}
.ml-auto{
  margin-left: auto;
}
.mr-2{
  margin-right: calc(2 * var(--space-unit));
}
.mr-auto{
  margin-right: auto;
}
.mt-1{
  margin-top: var(--space-unit);
}
.mt-10{
  margin-top: calc(10 * var(--space-unit));
}
.mt-12{
  margin-top: calc(12 * var(--space-unit));
}
.mt-16{
  margin-top: calc(16 * var(--space-unit));
}
.mt-2{
  margin-top: calc(2 * var(--space-unit));
}
.mt-3{
  margin-top: calc(3 * var(--space-unit));
}
.mt-4{
  margin-top: calc(4 * var(--space-unit));
}
.mt-5{
  margin-top: calc(5 * var(--space-unit));
}
.mt-6{
  margin-top: calc(6 * var(--space-unit));
}
.mt-8{
  margin-top: calc(8 * var(--space-unit));
}
.mt-section{
  margin-top: calc(var(--section-gap) * var(--fluid-1-5));
}
.block{
  display: block;
}
.inline-block{
  display: inline-block;
}
.inline{
  display: inline;
}
.flex{
  display: flex;
}
.inline-flex{
  display: inline-flex;
}
.table{
  display: table;
}
.grid{
  display: grid;
}
.inline-grid{
  display: inline-grid;
}
.contents{
  display: contents;
}
.hidden{
  display: none;
}
.h-full{
  height: 100%;
}
.w-auto{
  width: auto;
}
.w-full{
  width: 100%;
}
.max-w-full{
  max-width: 100%;
}
.max-w-none{
  max-width: none;
}
.max-w-screen-lg{
  max-width: 1024px;
}
.max-w-screen-md{
  max-width: 1024px;
}
.flex-auto{
  flex: 1 1 auto;
}
.shrink-0{
  flex-shrink: 0;
}
.flex-grow{
  flex-grow: 1;
}
.grow{
  flex-grow: 1;
}
.table-fixed{
  table-layout: fixed;
}
.cursor-pointer{
  cursor: pointer;
}
.resize{
  resize: both;
}
.list-none{
  list-style-type: none;
}
.auto-cols-1{
  grid-auto-columns: 100%;
}
.auto-cols-2{
  grid-auto-columns: calc((100% - var(--column-gap)) / 2);
}
.grid-flow-col{
  grid-auto-flow: column;
}
.grid-cols-1{
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.flex-row{
  flex-direction: row;
}
.flex-row-reverse{
  flex-direction: row-reverse;
}
.flex-col{
  flex-direction: column;
}
.flex-wrap{
  flex-wrap: wrap;
}
.items-start{
  align-items: flex-start;
}
.items-end{
  align-items: flex-end;
}
.items-center{
  align-items: center;
}
.items-stretch{
  align-items: stretch;
}
.justify-start{
  justify-content: flex-start;
}
.justify-end{
  justify-content: flex-end;
}
.justify-center{
  justify-content: center;
}
.justify-between{
  justify-content: space-between;
}
.gap-3{
  gap: calc(3 * var(--space-unit));
}
.gap-theme{
  gap: var(--column-gap);
}
.gap-x-6{
  column-gap: calc(6 * var(--space-unit));
}
.gap-x-theme{
  column-gap: var(--column-gap);
}
.gap-y-10{
  row-gap: calc(10 * var(--space-unit));
}
.gap-y-12{
  row-gap: calc(12 * var(--space-unit));
}
.gap-y-16{
  row-gap: calc(16 * var(--space-unit));
}
.gap-y-4{
  row-gap: calc(4 * var(--space-unit));
}
.gap-y-5{
  row-gap: calc(5 * var(--space-unit));
}
.gap-y-6{
  row-gap: calc(6 * var(--space-unit));
}
.gap-y-8{
  row-gap: calc(8 * var(--space-unit));
}
.gap-y-theme{
  row-gap: var(--column-gap);
}
.self-start{
  align-self: flex-start;
}
.self-center{
  align-self: center;
}
.overflow-auto{
  overflow: auto;
}
.overflow-hidden{
  overflow: hidden;
}
.whitespace-nowrap{
  white-space: nowrap;
}
.border{
  border-width: 1px;
}
.bg-error-bg{
  background-color: rgb(var(--error-bg-color));
}
.bg-info-bg{
  background-color: rgb(var(--info-bg-color));
}
.bg-success-bg{
  background-color: rgb(var(--success-bg-color));
}
.bg-theme-bg{
  background-color: rgba(var(--bg-color));
}
.bg-theme-text{
  background-color: rgb(var(--text-color));
}
.object-center{
  object-position: center;
}
.object-top{
  object-position: top;
}
.p-4{
  padding: calc(4 * var(--space-unit));
}
.p-5{
  padding: calc(5 * var(--space-unit));
}
.p-6{
  padding: calc(6 * var(--space-unit));
}
.p-8{
  padding: calc(8 * var(--space-unit));
}
.pb-0{
  padding-bottom: 0;
}
.pb-1{
  padding-bottom: var(--space-unit);
}
.pb-2{
  padding-bottom: calc(2 * var(--space-unit));
}
.pb-3{
  padding-bottom: calc(3 * var(--space-unit));
}
.pb-4{
  padding-bottom: calc(4 * var(--space-unit));
}
.pb-6{
  padding-bottom: calc(6 * var(--space-unit));
}
.pl-4{
  padding-left: calc(4 * var(--space-unit));
}
.pl-6{
  padding-left: calc(6 * var(--space-unit));
}
.pr-4{
  padding-right: calc(4 * var(--space-unit));
}
.pr-6{
  padding-right: calc(6 * var(--space-unit));
}
.pt-2{
  padding-top: calc(2 * var(--space-unit));
}
.pt-3{
  padding-top: calc(3 * var(--space-unit));
}
.pt-4{
  padding-top: calc(4 * var(--space-unit));
}
.pt-5{
  padding-top: calc(5 * var(--space-unit));
}
.pt-6{
  padding-top: calc(6 * var(--space-unit));
}
.text-left{
  text-align: left;
}
.text-center{
  text-align: center;
}
.text-right{
  text-align: right;
}
.text-start{
  text-align: start;
}
.text-end{
  text-align: end;
}
.align-middle{
  vertical-align: middle;
}
.align-bottom{
  vertical-align: bottom;
}
.text-sm{
  font-size: 0.88em;
}
.text-xs{
  font-size: 0.75em;
}
.font-bold{
  font-weight: 700;
}
.font-normal{
  font-weight: 400;
}
.font-semibold{
  font-weight: 600;
}
.uppercase{
  text-transform: uppercase;
}
.capitalize{
  text-transform: capitalize;
}
.leading-none{
  line-height: 1;
}
.text-current{
  color: currentColor;
}
.text-error-text{
  color: rgb(var(--error-text-color));
}
.text-info-text{
  color: rgb(var(--info-text-color));
}
.text-inherit{
  color: inherit;
}
.text-success-text{
  color: rgb(var(--success-text-color));
}
.text-theme-bg{
  color: rgba(var(--bg-color));
}
.text-theme-heading{
  color: rgb(var(--heading-color));
}
.text-theme-light{
  color: rgba(var(--text-color) / 0.6);
}
.text-theme-text{
  color: rgb(var(--text-color));
}
.underline{
  text-decoration-line: underline;
}
.line-through{
  text-decoration-line: line-through;
}
.transition{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.js .js-hidden,
.no-js .no-js-hidden{
  display: none;
}
@media (max-width: 1023.98px) {
  .header__icon.js .js-hidden.md\:block,.header__icon
.no-js .no-js-hidden.md\:block {
    display: none;
  }
}

.no-js .no-js-visible{
  display: block;
}

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

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

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

[hidden] {
  display: none !important;
}

@media (prefers-reduced-motion) {
  .has-motion {
    transition: none !important;
    animation: none !important;
  }
}
@media (hover: none) {
  .no-hover-hidden {
    display: none !important;
  }
}
.color-link {
  color: rgb(var(--link-color));
}

.border-top {
  border-top: 1px solid rgba(var(--text-color)/0.15);
}

.border-bottom {
  border-bottom: 1px solid rgba(var(--text-color)/0.15);
}

.start {
  left: var(--start-gutter, 0);
}
[dir=rtl] .start {
  right: var(--start-gutter, 0);
  left: auto;
}

.end {
  right: var(--end-gutter, 0);
}
[dir=rtl] .end {
  right: auto;
  left: var(--end-gutter, 0);
}

.mis-2 {
  margin-inline-start: calc(2 * var(--space-unit));
}

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

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

.vertical-center {
  top: 50%;
  transform: translateY(-50%);
}

.tap-target {
  position: relative;
}
.tap-target::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 44px;
  height: 44px;
  transform: translate(-50%, -50%);
  opacity: 0;
}

.tap-target--left::after {
  left: 0;
  transform: translateY(-50%);
}

.tap-target--right::after {
  right: 0;
  left: auto;
  transform: translateY(-50%);
}

.top-header-offset {
  top: calc(var(--header-end-padded, 0) * -1);
}

@media (hover: hover) and (pointer: fine) {
  .hover\:underline:hover {
    text-decoration: underline;
  }
  .hover\:lighten {
    transition: color 0.3s;
  }
  .hover\:lighten:hover {
    color: rgba(var(--text-color)/0.8);
  }
  .hover\:grow-media .card__media {
    overflow: hidden;
  }
  .hover\:grow-media .media {
    transition: transform 0.4s cubic-bezier(0.38, 0.41, 0.27, 1), border-color 0.4s;
    will-change: transform;
  }
  .hover\:grow-media:hover .media {
    transform: scale(1.03);
    border-color: transparent;
  }
}
@media (max-width: 1023.98px) {
  .md-down\:text-center {
    text-align: center;
  }
  .md-down\:-mx-gutter {
    margin-right: calc(var(--gutter) * -1);
    margin-left: calc(var(--gutter) * -1);
  }
  .md-down\:p-xl {
    padding: 0 calc(8 * var(--space-unit));
  }
  .md-down\:center {
    align-items: center;
    justify-content: center;
  }
  .md-down\:px-gutter {
    padding-right: var(--gutter);
    padding-left: var(--gutter);
  }
}
.visible-lg {
  display: none !important;
}

@media (min-width: 1024px) {
  .visible-lg {
    display: block !important;
  }
  .md\:pt-0 {
    padding-top: 0 !important;
  }
}
@media (max-width: 599.98px) {
  .small__grid {
    --column-gap: 10px;
    row-gap: 10px;
  }
  .carousel .small__grid {
    --column-gap: 0px;
  }
  .carousel .small__grid .slider__item:not(:last-child) .card--product-contained:not(.card--highlight-product) {
    border-inline-end: 0;
  }
  .carousel .small__grid .slider__item:not(:last-child):has(.card--product-contained.card--highlight-product) + .slider__item:not(:last-child) .card--product-contained {
    border-inline-start: 0;
  }
}
@keyframes spinner {
  to {
    transform: rotate(360deg);
  }
}
@keyframes checkmark {
  0% {
    width: 0;
    height: 0;
    opacity: 1;
  }
  20% {
    width: 10px;
    height: 0;
    opacity: 1;
  }
  40% {
    width: 10px;
    height: 20px;
    opacity: 1;
  }
  90% {
    width: 10px;
    height: 20px;
    opacity: 1;
  }
  100% {
    width: 10px;
    height: 20px;
    opacity: 0;
  }
}
@keyframes colorPulse {
  0% {
    color: var(--text-color);
  }
  50% {
    color: var(--speech-icon-color);
  }
  100% {
    color: var(--text-color);
  }
}
@keyframes shake-n-grow {
  0%, 100% {
    transform: rotate(0deg);
    transform-origin: 50% 50%;
  }
  10% {
    transform: rotate(8deg);
  }
  20%, 40%, 60% {
    transform: rotate(-10deg) scale(1.05);
  }
  30%, 50%, 70% {
    transform: rotate(10deg) scale(1.05);
  }
  80% {
    transform: rotate(-8deg);
  }
  90% {
    transform: rotate(8deg);
  }
}
@keyframes shake {
  0%, 100% {
    transform: rotate(0deg);
    transform-origin: 50% 50%;
  }
  10% {
    transform: rotate(8deg);
  }
  20%, 40%, 60% {
    transform: rotate(-10deg);
  }
  30%, 50%, 70% {
    transform: rotate(10deg);
  }
  80% {
    transform: rotate(-8deg);
  }
  90% {
    transform: rotate(8deg);
  }
}
.alert {
  padding: 2rem 2.4rem;
}
.alert.bg-success-bg {
  border: 1px solid rgba(var(--success-text-color)/0.2);
}
.alert.bg-error-bg {
  border: 1px solid rgba(var(--error-text-color)/0.2);
}
.alert[autofocus] {
  outline: 0;
}

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

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

button {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  font-family: inherit;
  font-size: 1em;
  text-decoration: none;
  text-shadow: none;
  cursor: pointer;
}

.btn {
  display: inline-block;
  position: relative;
  max-width: 100%;
  padding: var(--btn-padding-y, 12px) 26px;
  transition: opacity 0.6s ease, color 0.6s ease, background-position 0.4s ease-out;
  border-radius: var(--btn-border-radius, 0);
  outline-offset: var(--btn-border-width);
  font-size: 0.88em;
  font-weight: 700;
  line-height: 1.2em;
  text-align: center;
  text-transform: var(--btn-text-transform, none);
  appearance: none;
  word-break: break-word;
}
.btn[disabled], .btn[aria-disabled=true] {
  opacity: 0.4;
  background-position: 0 100%;
  cursor: default;
}

.btn--sm {
  padding: 8px 16px;
  font-size: 1.4rem;
  font-weight: normal;
}

.btn--narrow {
  padding-top: 9px;
  padding-bottom: 9px;
}

.btn--extra-narrow {
  padding-top: 5px;
  padding-bottom: 5px;
}

.btn--primary,
.spr-button-primary,
.shopify-payment-button .shopify-payment-button__button--unbranded,
.shopify-challenge__button {
  border: var(--btn-border-width) solid rgb(var(--btn-bg-color));
  outline-color: rgb(var(--btn-bg-color));
  outline-offset: 3px;
  background: rgb(var(--btn-bg-hover-color)) linear-gradient(104deg, rgb(var(--btn-bg-hover-color)) 60%, rgb(var(--btn-bg-color)) 60%, rgb(var(--btn-bg-color)) 100%) no-repeat 100% 100%;
  background-size: 300% 100%;
  color: rgb(var(--btn-text-color));
}

.btn--primary.is-loading {
  color: rgba(var(--btn-text-color)/0.1);
}
.btn--primary.is-loading::after {
  border-color: rgb(var(--btn-text-color));
  border-top-color: transparent;
}
.btn--primary.is-loading::before {
  border-color: rgb(var(--btn-text-color));
}

.btn--secondary {
  border: var(--btn-border-width) solid rgb(var(--btn-alt-text-color));
  outline-color: rgb(var(--btn-alt-text-color));
  outline-offset: 3px;
  background: rgba(var(--btn-alt-bg-color)/0.9) linear-gradient(104deg, rgba(var(--btn-alt-text-color)/0.07) 60%, rgba(var(--btn-alt-bg-color)/var(--btn-alt-bg-alpha)) 60%, rgba(var(--btn-alt-bg-color)/var(--btn-alt-bg-alpha)) 100%) no-repeat 100% 100%;
  background-size: 300% 100%;
  color: rgb(var(--btn-alt-text-color));
}
.btn--secondary.is-loading {
  color: rgba(var(--btn-alt-text-color)/0.1);
}
.btn--secondary.is-loading::after {
  border-color: rgb(var(--btn-alt-text-color));
  border-top-color: transparent;
}
.btn--secondary.is-loading::before {
  border-color: rgb(var(--btn-alt-text-color));
}

@media (hover: hover) and (pointer: fine) {
  .btn--primary:not(.slider-nav__btn):not([disabled]):hover,
  .btn--secondary:not(.slider-nav__btn):not([disabled]):hover,
  .shopify-challenge__button:not([disabled]):hover,
  .shopify-payment-button .shopify-payment-button__button--unbranded:not([disabled]):not([aria-disabled]):hover {
    background-position: 0 100%;
  }
}
.btn--icon {
  padding: calc(10px - var(--btn-border-width));
  border-radius: var(--btn-lg-border-radius, var(--btn-border-radius));
}
.btn--icon.btn--lg {
  padding: calc(16px - var(--btn-border-width));
  border-radius: var(--btn-icon-border-radius);
}

.btn--icon-with-text .icon {
  width: auto;
  height: 1.2em;
  margin-inline-end: calc(2 * var(--space-unit));
}

.btn--arrow-with-text {
  padding-inline-end: 56px;
}

.btn--arrow-back-with-text {
  padding-inline-start: 56px;
}

.btn--arrow-with-text::after,
.btn--arrow-back-with-text::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  transition: background-color 0.2s ease;
  background-color: currentColor;
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='currentColor' stroke-width='1.5' fill='none'><path d='M4.696 12h14.686m-7.007-7.5 7.5 7.5-7.5 7.5'/></svg>");
}

[dir=rtl] .btn--arrow-with-text::after,
[dir=ltr] .btn--arrow-back-with-text::after {
  right: auto;
  left: 16px;
  transform: translateY(-50%) scaleX(-1);
}

.btn[disabled]:hover,
.btn[aria-disabled=true]:hover {
  opacity: 0.4;
  background-position: 0 100%;
  cursor: default;
}

shop-login-button {
  --buttons-radius: var(--btn-border-radius, 0);
}

.custom-select__btn {
  display: flex;
  width: var(--custom-select-button-width, auto);
  min-width: 100%;
  max-width: 100%;
  background-color: rgb(var(--input-bg-color));
  color: rgb(var(--input-text-color));
  font-size: 0.88em;
  font-weight: bold;
  line-height: 0.88em;
}
.custom-select__btn.is-loading {
  color: rgba(var(--input-text-color)/0.2);
}
.custom-select__btn > .icon {
  flex-shrink: 0;
  width: 36px;
  height: 20px;
  margin-inline-start: auto;
  margin-inline-end: -5px;
  padding-inline-start: 16px;
}

.custom-select__listbox {
  z-index: 100;
  top: 5px;
  left: -5px;
  min-width: 100%;
  max-height: 20em;
  overflow-y: auto;
  border: var(--input-border-width) solid rgba(var(--input-text-color)/0.2);
  outline: 0;
  background-color: var(--input-bg-color-diff-3);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15);
  color: rgb(var(--input-text-color));
  font-size: 0.88em;
}
.custom-select__listbox[aria-hidden=false] {
  visibility: visible;
}

.custom-select__option {
  padding: 10px 16px;
  cursor: pointer;
}
.custom-select__option > em {
  flex-shrink: 0;
  margin-inline-start: auto;
  padding-inline-start: 1em;
  font-style: normal;
}
.custom-select__option.is-focused {
  outline: 0;
  background-color: var(--input-bg-color-diff-6);
  color: rgb(var(--input-text-color));
}

.custom-select__option--visual-group-end:not(:last-child) {
  position: relative;
  margin-bottom: 0.8em;
}
.custom-select__option--visual-group-end:not(:last-child)::after {
  content: "";
  position: absolute;
  top: calc(100% + 0.4em);
  left: 0;
  width: 100%;
  border-bottom: 1px solid rgb(var(--input-text-color));
  opacity: 0.1;
  pointer-events: none;
}

.checkbox {
  position: absolute;
  opacity: 0;
}
.checkbox + label {
  display: inline-flex;
  position: relative;
  align-items: flex-start;
  margin: 0;
  font-size: 1em;
  line-height: 1.5;
  vertical-align: top;
  cursor: pointer;
}
.checkbox + label::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  margin-top: calc(0.75em - 11px);
  margin-inline-end: 0.75em;
  border: var(--input-border-width) solid rgb(var(--text-color));
  border-radius: 2px;
  background-color: rgb(var(--input-bg-color));
}
.checkbox:checked + label::before {
  border-color: rgb(var(--text-color));
  background-color: rgb(var(--text-color));
}
.checkbox:checked + label::after {
  content: "";
  position: absolute;
  top: calc(0.75em - 1.5px);
  left: 11px;
  width: calc((22px - var(--input-border-width) * 2) * 0.375);
  height: calc((22px - var(--input-border-width) * 2) * 0.75);
  transform: translate(-50%, -50%) rotate(45deg);
  border: solid rgba(var(--bg-color));
  border-width: 0 2px 2px 0;
}
[dir=rtl] .checkbox:checked + label::after {
  right: 11px;
  left: auto;
  transform: translate(50%, -50%) rotate(45deg);
}
.checkbox[disabled] + label {
  opacity: 0.5;
  cursor: default;
}

.radio {
  position: absolute;
  opacity: 0;
}
.radio + label {
  display: inline-flex;
  position: relative;
  align-items: flex-start;
  margin: 0;
  font-size: 1em;
  line-height: 1.5;
  vertical-align: top;
  cursor: pointer;
}
.radio + label::before {
  content: "";
  display: block;
  flex-shrink: 0;
  margin-inline-end: 0.75em;
  border: var(--input-border-width) solid rgb(var(--text-color));
  border-radius: 2px;
  background-color: rgb(var(--input-bg-color));
  width: 22px;
  height: 22px;
  margin-top: calc(0.75em - 11px);
  border-radius: 50%;
}
.radio:checked + label::after {
  content: "";
  position: absolute;
  top: 0.75em;
  left: 11px;
  width: calc((22px - var(--input-border-width) * 2) * 0.625);
  height: calc((22px - var(--input-border-width) * 2) * 0.625);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: rgb(var(--text-color));
}
[dir=rtl] .radio:checked + label::after {
  right: 11px;
  left: auto;
  transform: translate(50%, -50%);
}

.custom-select__option > em {
  padding-inline-start: 2em;
}

.custom-select__listbox {
  min-width: max(100%, 165px);
  border-radius: var(--modal-border-radius);
}

fieldset {
  margin: 0;
  padding: 0.35em 0.75em 0.625em;
}

legend {
  padding: 0;
}

.label {
  display: block;
  margin: 0 0 calc(2 * var(--space-unit));
  font-size: 0.88em;
  font-weight: 700;
  text-align: start;
}

.label--inline {
  display: inline-block;
  margin: 0;
}

.is-required > label:not(.required-inline)::after {
  content: " *";
}

input,
textarea,
select {
  background-clip: padding-box;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;
}

input[type=date] {
  min-height: calc((var(--input-padding-y, 11px) + var(--input-border-width)) * 2 + 1.2em);
  -webkit-appearance: none;
}

.input,
select {
  max-width: 100%;
  margin: 0;
  padding: var(--input-padding-y, 11px) 24px;
  transition: border-color 0.2s, box-shadow 0.2s, outline 0.2s;
  border: var(--input-border-width) solid rgba(var(--input-text-color)/0.2);
  border-radius: var(--input-border-radius, 0);
  background-color: rgb(var(--input-bg-color));
  color: rgb(var(--input-text-color));
  font-size: 0.88em;
  line-height: 1.2em;
}
.input:focus,
select:focus {
  border-color: rgba(var(--input-text-color)/0.6);
  outline: 0;
  box-shadow: 0 0 0 1px rgba(var(--input-text-color)/0.6);
}

.input::placeholder {
  color: rgba(var(--input-text-color)/0.5);
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-transition: background-color 5000s ease-in-out 0s;
  transition: background-color 5000s ease-in-out 0s;
  border: var(--input-border-width) solid rgba(var(--input-text-color)/0.2);
  box-shadow: 0 0 0 1000px rgb(var(--input-bg-color)) inset;
  -webkit-text-fill-color: rgb(var(--input-text-color));
}
.input-with-button input:-webkit-autofill,
.input-with-button input:-webkit-autofill:hover,
.input-with-button input:-webkit-autofill:focus,
.input-with-button textarea:-webkit-autofill,
.input-with-button textarea:-webkit-autofill:hover,
.input-with-button textarea:-webkit-autofill:focus,
.input-with-button select:-webkit-autofill,
.input-with-button select:-webkit-autofill:hover,
.input-with-button select:-webkit-autofill:focus {
  border-color: transparent;
}

[type=email],
[type=tel] {
  text-align: start;
}

[type=number] {
  -moz-appearance: textfield;
}

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

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button,
[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  margin: 0;
  -webkit-appearance: none;
}

textarea {
  border-radius: var(--textarea-border-radius) !important;
  vertical-align: top;
  resize: vertical;
}

select {
  padding-inline-end: 48px;
  font-weight: 700;
  appearance: none;
}

.select::after {
  content: "";
  position: absolute;
  top: calc(50% - 10px);
  right: 20px;
  width: 20px;
  height: 20px;
  background-color: rgb(var(--input-text-color));
  pointer-events: none;
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'><path d='M20 8.5 12.5 16 5 8.5' fill='none' stroke='currentColor' stroke-width='1.5'/></svg>");
}
[dir=rtl] .select::after {
  right: auto;
  left: 20px;
}

.input-with-button {
  display: flex;
  align-items: center;
  border-radius: var(--input-lg-border-radius, var(--input-border-radius));
  background-color: rgb(var(--input-bg-color));
  box-shadow: inset 0 0 0 var(--input-border-width) rgba(var(--input-text-color)/0.2);
}
.input-with-button:focus-within {
  box-shadow: inset 0 0 0 var(--input-border-width) rgba(var(--input-text-color)/0.6);
}
.input-with-button > .input {
  flex: 1 1 auto;
  margin-inline-start: 3px;
  margin-inline-end: calc((var(--input-border-radius, 0px) + var(--btn-border-radius, 0px)) * -1);
  padding-inline-end: 0;
  border: 0;
  background-color: transparent;
  box-shadow: none;
}
.input-with-button > .btn {
  flex: 0 0 auto;
  padding: var(--btn-padding-y, 12px) 26px;
  border-radius: var(--input-with-btn-inner-radius, 0) var(--input-border-radius, 0) var(--input-border-radius, 0) var(--input-with-btn-inner-radius, 0);
}
.input-with-button > .btn:not(.btn--primary) {
  color: rgb(var(--input-text-color));
}
.input-with-button > .btn--icon {
  padding: 12px 16px;
}

.checkbox:checked + label::after {
  top: calc(0.75em - 2px);
}

.form__field {
  margin-bottom: calc(6 * var(--space-unit));
  text-align: start;
}
.form > .form__field:last-of-type {
  margin-bottom: 0;
}

.form__field-error {
  margin: 0.5em 0 0;
  color: rgb(var(--error-text-color));
}

.form__actions > .btn {
  margin-inline-end: calc(6 * var(--space-unit));
}

.checkbox--small + .label,
.checkbox--small:checked + .label {
  align-items: center;
  font-size: 0.88em;
}
.checkbox--small + .label::before,
.checkbox--small:checked + .label::before {
  width: 16px;
  height: 16px;
  margin-top: -1px;
}
.checkbox--small + .label::after,
.checkbox--small:checked + .label::after {
  content: "";
  left: 8px;
  width: calc((16px - var(--input-border-width) * 2) * 0.375);
  height: calc((16px - var(--input-border-width) * 2) * 0.75);
}

.tab-used .checkbox--small:focus + .label::before {
  outline: auto Highlight;
  outline: auto -webkit-focus-ring-color;
  outline-offset: 3px;
}

@media (max-width: 1023.98px) {
  .input-with-button--md-up {
    display: block;
    border-radius: var(--input-border-radius, 0);
    background: none;
    box-shadow: none;
  }
  .input-with-button--md-up:focus-within {
    box-shadow: none;
  }
  .input-with-button--md-up > .input {
    padding: var(--input-padding-y, 11px) 24px;
    border: var(--input-border-width) solid rgba(var(--input-text-color)/0.2);
    background-color: rgb(var(--input-bg-color));
  }
  .input-with-button--md-up > .input:focus {
    border-color: rgba(var(--input-text-color)/0.6);
  }
  .input-with-button--md-up > .btn {
    width: 100%;
    margin-top: calc(4 * var(--space-unit));
    border-radius: var(--btn-border-radius, 0);
  }
  .input-with-button > .btn {
    padding: var(--btn-padding-y, 12px) 18px;
  }
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

[loading=lazy] {
  transition: opacity 0.5s ease-out;
  opacity: 1;
}
[loading=lazy]:not([src]) {
  opacity: 0;
}

.media {
  overflow: hidden;
}

.media--has-overlay::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.media__placeholder {
  background-color: #d8d8d8;
  fill: #777;
  vertical-align: top;
}
.media__placeholder.dark {
  background-color: #d5d5d5;
  fill: #aaa;
}

.img-fit,
.md\:img-fit {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.img-fit.img-fit--contain,
.md\:img-fit.img-fit--contain {
  object-fit: contain;
}

.icon {
  vertical-align: top;
  pointer-events: none;
}

[dir=rtl] .has-ltr-icon .icon {
  transform: scaleX(-1);
}

.image-blend {
  background-color: var(--blend-bg-color) !important;
}
.image-blend img {
  mix-blend-mode: multiply;
}

@media (max-width: 1023.98px) {
  .md\:img-fit {
    position: static;
  }
}
a,
.link,
.product-spec__value a {
  color: rgb(var(--link-color));
  text-decoration: none;
}
a[aria-disabled=true],
.link[aria-disabled=true],
.product-spec__value a[aria-disabled=true] {
  opacity: 0.4;
  cursor: default;
}

.link,
.rte a,
.product-spec__value a {
  transition: opacity 0.3s;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2rem;
}
.link:hover,
.rte a:hover,
.product-spec__value a:hover {
  opacity: 0.6;
}

.skip-link.btn {
  position: absolute;
  z-index: 999;
  top: 16px;
  left: var(--gutter);
}
.skip-link.btn:focus {
  width: auto;
  height: auto;
  clip: auto;
}

ol,
ul {
  margin: 0;
  padding: 0;
}

ul {
  list-style: none;
}

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

.rte ol {
  margin-inline-start: 1em;
}

.styled-list {
  padding-inline-start: 2rem;
}

.rte ol li {
  padding-inline-start: 0.25em;
}
.rte ol li:not(:last-child) {
  margin-bottom: 0.5em;
}

.rte ul > li,
.styled-list > li {
  position: relative;
  padding-inline-start: 1.5em;
}
.rte ul > li:not(:last-child),
.styled-list > li:not(:last-child) {
  margin-bottom: 0.5em;
}

.rte ul > li::before,
.styled-list > li::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.5em;
  width: 0.5em;
  height: 0.5em;
  margin-inline-start: -1.25em;
  margin-inline-end: 0.75em;
  border-radius: 50%;
  background-color: currentColor;
}

.overlay {
  visibility: hidden;
  z-index: 30;
  transition: visibility 0.3s, z-index 0s 0.3s, opacity 0.3s;
  opacity: 0;
  background-color: rgba(var(--modal-overlay-color)/var(--modal-overlay-opacity));
  pointer-events: none;
}
.overlay.is-visible {
  visibility: visible;
  transition: visibility 0.3s, z-index 0s, opacity 0.3s;
  opacity: 1;
  pointer-events: initial;
}
.overlay.overlay--over-nav {
  z-index: 31;
}

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

.is-loading::after {
  content: "";
  position: absolute;
  top: calc(50% - 10px);
  right: calc(50% - 10px);
  width: 20px;
  height: 20px;
  transition: opacity 0.2s;
  animation: spinner 0.6s linear infinite;
  border: 2px solid;
  border-radius: 50%;
  border-color: rgb(var(--text-color));
  border-top-color: transparent;
}
.is-loading::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 20px;
  margin-top: -2px;
  transform: scaleX(-1) rotate(135deg) translateX(-50%) translateY(-50%);
  transform-origin: left top;
  border-top: 2px solid rgb(var(--text-color));
  opacity: 0;
  border-inline-end: 2px solid rgb(var(--text-color));
}

.is-success.is-loading::after {
  opacity: 0;
}
html:not([dir=rtl]) .is-success::before {
  animation: checkmark 1.4s ease;
}

.panel {
  --heading-color: var(--panel-heading-color);
  padding: calc(5 * var(--space-unit));
  background-color: rgba(var(--panel-bg-color));
  color: rgb(var(--panel-text-color));
}

@media (min-width: 1024px) {
  .panel {
    padding: calc(8 * var(--space-unit));
  }
}
table {
  margin: 0;
  border-spacing: 0;
  border-collapse: collapse;
}

th,
td {
  padding: 1em;
  border-collapse: collapse;
  border: 1px solid rgba(var(--text-color)/0.15);
  text-align: start;
}

.discount {
  padding: 6px 14px;
  background-color: rgba(var(--text-color)/0.1);
}
.discount .icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-inline-end: calc(2 * var(--space-unit));
}

.scrollable-table {
  display: inline-block;
  margin-bottom: var(--element-margin-bottom, 2em);
}

@media (max-width: 1023.98px) {
  .scrollable-table {
    display: flex;
    overflow: auto;
    overflow-wrap: normal;
  }
  .scrollable-table > table {
    flex-shrink: 0;
    width: auto;
    min-width: 100%;
    max-width: 640px;
  }
  .modal .rte .scrollable-table > table {
    margin-right: 0;
    margin-left: 0;
  }
}
.breadcrumbs {
  min-height: 1.5em;
  margin: 5px;
  font-size: 0.75em;
}
.breadcrumbs .icon {
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  margin-inline-start: 0.125em;
  margin-inline-end: 0.25em;
}

.breadcrumbs-list {
  flex: 1 1 auto;
  flex-wrap: wrap;
  line-height: 1em;
}

.breadcrumbs-list__link {
  color: currentColor;
  line-height: normal;
}

.breadcrumbs-prod-nav {
  margin-inline-start: auto;
  margin-inline-end: -7px;
}

.breadcrumbs-prod-nav__link--next {
  margin-inline-end: 0;
}
.breadcrumbs-prod-nav__link--next::before {
  content: "·";
  position: relative;
  margin: 0 0.75em;
  opacity: 0.5;
}

.breadcrumbs-list__link--rss {
  margin-inline-start: 1em;
}

@media (min-width: 1024px) {
  .breadcrumbs {
    overflow: auto;
  }
  .breadcrumbs-list {
    flex: 1 0 auto;
  }
  .product-breadcrumbs .breadcrumbs-list__link {
    max-width: 20em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .product-breadcrumbs .breadcrumbs-list__link:hover {
    text-decoration: underline;
  }
}
.card {
  flex-direction: column;
  max-width: 1023px;
  margin: 0 auto;
}

@media (hover: hover) and (pointer: fine) {
  .card__main-image,
  .card__media.has-hover-image:hover .card__hover-image {
    visibility: visible;
    transition: opacity 0.5s, visibility 0s;
    opacity: 1;
  }
  .card__hover-image,
  .card__media.has-hover-image:hover .card__main-image {
    visibility: hidden;
    transition: opacity 0.5s, visibility 0s 0.5s;
    opacity: 0;
  }
}
.card__info {
  padding-top: calc(4 * var(--space-unit));
}

.card.color-scheme .card__info {
  padding: calc(6 * var(--space-unit)) calc(6 * var(--space-unit)) calc(8 * var(--space-unit)) calc(6 * var(--space-unit));
}

.card-link::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.card:not(.card--related) .price {
  padding-top: 12px;
}

.card:not(.card--related):not(.card--no-lines) .price--top {
  margin-top: calc(3 * var(--space-unit));
  border-top: 1px solid rgba(var(--text-color)/0.15);
}
.card:not(.card--related).card--no-lines .price {
  padding-top: calc(2 * var(--space-unit));
}
.card:not(.card--related).card--no-lines .price--bottom,
.card:not(.card--related) .price--bottom {
  padding-top: calc(4 * var(--space-unit));
}

.card__quick-add {
  display: none;
}

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

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

.card--row,
.main-products-grid[data-layout=list] .card {
  flex-direction: row;
  max-width: none;
}

.main-products-grid[data-layout=list].transition-ready .card {
  transition: padding-top 0.3s;
}

.main-products-grid[data-layout=list] .card--product {
  padding-top: calc(6 * var(--space-unit));
}
.main-products-grid[data-layout=list] .card--product .card__info {
  position: relative;
  padding-top: 0;
}

.main-products-grid[data-layout=list][data-compare=true] .card--product {
  padding-top: calc(5 * var(--space-unit));
}

.main-products-grid[data-layout=list] .card .card__media {
  z-index: 1;
  flex: 0 0 calc(50% - var(--gutter) * 2);
  margin-inline-end: var(--gutter);
  background-color: inherit;
}
.main-products-grid[data-layout=list] .card .card__info-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.main-products-grid[data-layout=list] .card .card__info-inner {
  width: auto;
}

.card--related {
  max-width: none;
  margin-top: calc(4 * var(--space-unit));
  padding: 12px;
  background-color: rgba(var(--text-color)/0.05);
}
.card--related .card__media {
  flex: 0 0 88px;
}
.card--related .card__info {
  padding-top: 0;
  padding-inline-start: calc(4 * var(--space-unit));
}
.card--related .price {
  margin-bottom: calc(2 * var(--space-unit));
}
.card--related .btn {
  z-index: 3;
}
.slider__grid .card--related {
  margin-top: 0;
}

.card__link-list {
  padding-top: calc(2 * var(--space-unit));
}
.card__link-list li {
  margin-bottom: var(--space-unit);
}

.card__link-list-item {
  padding: var(--space-unit) 0 calc(2 * var(--space-unit));
}

.card__title-wrapper {
  padding-top: calc(4 * var(--space-unit));
  padding-bottom: calc(2 * var(--space-unit));
}

.card--product .card__info {
  flex: 1;
}

.card--product .carousel__controls {
  visibility: hidden;
  z-index: 3;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  pointer-events: none;
}

.card--product .carousel__controls .slider-nav__btn {
  pointer-events: auto;
}

.card--product:hover .carousel__controls,
.tab-used .card--product:focus-within .carousel__controls {
  visibility: visible;
  opacity: 1;
}

.card--product .slider-nav {
  padding: 0 5px;
}

.card--product .slider-nav .slider-nav__btn {
  overflow: visible;
  background-color: rgba(var(--bg-color));
}

.card--product .slider-nav__btn svg {
  width: 18px;
  height: 18px;
  color: rgb(var(--text-color));
}

.card--product-contained {
  --text-color: var(--card-text-color);
  padding: calc(5 * var(--space-unit));
  border: 1px solid var(--card-border-color);
  background-color: var(--card-bg-color);
  color: rgb(var(--card-text-color));
}
.card--product-contained .text-theme-light {
  opacity: 0.7;
}

.card--highlight-product {
  --card-text-color: var(--card-highlight-text-color);
  --card-border-color: var(--card-highlight-border-color);
  --card-bg-color: var(--card-highlight-bg-color);
  color: rgb(var(--card-text-color));
}
.card--highlight-product:not(.card--product-contained)::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid var(--card-border-color);
  background-color: var(--card-bg-color);
  pointer-events: none;
}
.card--highlight-product .card__info-container {
  --text-color: var(--card-highlight-text-color);
}
.main-products-grid[data-layout=list][data-compare=false] .card--highlight-product:not(.card--product-contained) {
  padding-top: 0;
}
.carousel .card--highlight-product:not(.card--product-contained) {
  padding: calc(3 * var(--space-unit));
}
.carousel .card--highlight-product:not(.card--product-contained)::before {
  inset: 0;
}

.card--article .btn--icon {
  z-index: 2;
}

.card--article.card--row {
  flex-direction: column;
}

.card__collection--with-border .card__media {
  border: 1px solid var(--coll-card-border-color);
}

.card__collection .media {
  background-color: var(--coll-card-bg-color);
}

.card__media--circle,
.card__media--circle .media {
  border-radius: 50%;
}

.card--article.card--featured .card__info {
  padding: var(--gutter-sm, 20px);
}

@media (max-width: 1023.98px) and (pointer: coarse) {
  .card__hover-image {
    display: none;
  }
}
@media (max-width: 1023.98px) {
  [data-layout=list] .card--highlight-product:not(.card--product-contained)::before {
    inset: calc(8 * var(--space-unit) / 2 * -1) calc(var(--gutter) * -1);
  }
  .grid-cols-2 .card--product-contained, .auto-cols-2 .card--product-contained {
    padding: calc(3 * var(--space-unit));
  }
  .cc-product-card-grid .grid:not(.slider__grid) .card--highlight-product:not(.card--product-contained)::before {
    inset: -1px;
  }
  .cc-product-card-grid .grid:not(.slider__grid) .card--highlight-product:not(.card--product-contained) .card__info-container {
    padding: calc(3 * var(--space-unit));
  }
}
@media (min-width: 1024px) {
  .main-products-grid[data-layout=list] .card--product {
    padding-top: calc(10 * var(--space-unit));
  }
  .card--highlight-product:not(.card--product-contained)::before {
    inset: calc(8 * var(--space-unit) / 2 * -1);
  }
  .carousel .card--highlight-product:not(.card--product-contained) {
    padding: calc(5 * var(--space-unit));
  }
  .grid-cols-2:not(.small-cards-mobile) .card--product-contained, .auto-cols-2:not(.small-cards-mobile) .card--product-contained, .small-cards-desktop .card--product-contained {
    padding: calc(4 * var(--space-unit));
  }
  .main-products-grid[data-layout=list] .card .card__media {
    flex: 0 0 calc(33.333333% - calc(8 * var(--space-unit)));
    max-width: 245px;
    margin-inline-end: calc(10 * var(--space-unit));
  }
  .main-products-grid[data-layout=list] .card .card__info {
    flex: 1 1 auto;
  }
  .main-products-grid[data-layout=list] .card .card__info-container {
    flex-direction: row;
    align-items: center;
  }
  .card--article.card--featured {
    flex-direction: row;
  }
  .card--article.card--featured .card__media {
    flex: 0 0 50%;
  }
  .card--article.card--featured .card__info {
    min-height: 250px;
    padding: calc(8 * var(--space-unit));
  }
  .card.color-scheme .card__info {
    padding: calc(8 * var(--space-unit));
  }
  .card--product .price__current {
    font-size: 1.2em;
  }
  .card--product .price__was {
    font-size: 1em;
  }
}
@media (min-width: 1280px) {
  .card.color-scheme .card__info {
    padding: calc(10 * var(--space-unit));
  }
  .card--article.card--featured .card__info {
    min-height: 350px;
  }
}
@media (hover: none) {
  .card__hover-image {
    display: none;
  }
}
.countdown__grid {
  grid-template-columns: repeat(4, auto);
  font-size: calc(var(--countdown-size, 24) * var(--fluid-1-5));
  gap: var(--countdown-gap, 1em);
}

.countdown__item:not(:last-child) .countdown__number::after {
  content: ":";
  position: absolute;
  top: 0;
  left: calc(100% + var(--countdown-gap, 1em) / 2);
  padding-top: 0.45em;
  transform: translateX(-50%);
  color: rgb(var(--text-color));
}
[dir=rtl] .countdown__item:not(:last-child) .countdown__number::after {
  right: calc(100% + var(--countdown-gap, 1em) / 2);
  left: auto;
  transform: translateX(50%);
}

.countdown__number {
  box-sizing: content-box;
  min-width: 2ch;
  margin-bottom: 6px;
  padding: 0.45em;
  border: 0;
  border-radius: 0.4em;
  background-color: rgb(var(--text-color));
  color: rgba(var(--bg-color));
  line-height: 1;
  white-space: nowrap;
}

.countdown__unit {
  font-size: 14px;
}

.countdown__grid + .countdown__text {
  margin-top: calc(var(--countdown-size, 24) * var(--fluid-1-5) / 2);
}

@media (max-width: 599.98px) {
  .countdown__grid {
    --countdown-gap: 14px;
    font-size: 22px;
  }
}
.color-scheme--white .text-overlay__block:not(.countdown-timer__custom-colors) .countdown__number {
  color: #000;
}

@media (max-width: 599.98px) {
  .color-scheme--white.mobile-stacked .text-overlay__block:not(.countdown-timer__custom-colors) .countdown__number {
    color: rgba(var(--bg-color));
  }
}
.countdown__block {
  margin-top: calc(8 * var(--space-unit));
  margin-bottom: calc(8 * var(--space-unit));
}
.countdown__block:last-child {
  margin-bottom: 0;
}

.section__block--countdown:not(:first-child) {
  margin-top: calc(6 * var(--space-unit));
  margin-bottom: calc(6 * var(--space-unit));
}

.countdown__text {
  margin-top: calc(4 * var(--space-unit));
}
.countdown-large-endtext .countdown__text {
  font-size: 1.25em;
}

@media (max-width: 1023.98px) {
  .countdown__item {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (max-width: 599.98px) {
  .countdown__unit {
    font-size: 0.5em;
  }
}
.disclosure > summary {
  padding: calc(6 * var(--space-unit)) 0;
}

.disclosure--row {
  border: 1px solid rgba(var(--text-color)/0.15);
  border-width: 1px 0;
}

details-disclosure + details-disclosure .disclosure--row {
  border-top: 0;
}

.js .disclosure__panel {
  overflow: hidden;
  transition: height 0.3s cubic-bezier(0.2, 0.6, 0.4, 1);
}

.disclosure__toggle {
  margin-inline-start: calc(3 * var(--space-unit));
}
.disclosure__toggle > .icon {
  display: block;
  width: 20px;
  height: 20px;
}

.disclosure[open]:not(.is-closing) .disclosure__toggle > .icon {
  transform: scaleY(-1);
}
.disclosure[open]:not(.is-closing) .v-line {
  display: none;
}

.disclosure__title {
  max-width: 100%;
  margin-bottom: 0;
}
.disclosure__title > .icon {
  flex-shrink: 0;
  margin: 0;
  margin-inline-end: calc(4 * var(--space-unit));
}
.disclosure__title > .icon--washing,
.disclosure__title > .icon--truck,
.disclosure__title > .icon--silhouette,
.disclosure__title > .icon--lock {
  margin-top: -2px;
}

.disclosure__content {
  padding-bottom: calc(6 * var(--space-unit));
}
.js .disclosure__content {
  transition: opacity 0.3s ease 0s;
  opacity: 0;
}
.js .disclosure[open]:not(.is-closing) .disclosure__content {
  transition: opacity 0.3s ease 0.1s;
  opacity: 1;
}

.image-banner .rte a,
.image-banner .rte a:hover {
  color: inherit;
}

@media (min-width: 600px) {
  .image-banner.auto-height::after {
    content: "";
    padding-top: 56.25%;
  }
}
@media (max-width: 599.98px) {
  .mobile-stacked .image-banner {
    flex-direction: column;
  }
  .mobile-stacked .image-banner .image-banner__image::after {
    display: none;
  }
  .mobile-stacked .image-banner > .container {
    height: 100%;
    padding: 0;
    overflow: hidden;
  }
  .mobile-stacked .image-banner:not(.slideshow__slide) .media,
  .mobile-stacked .auto-height:not(.slideshow__slide) .media::after {
    position: relative;
  }
  .mobile-stacked--spaced {
    margin-bottom: calc(var(--section-gap) * 0.1rem);
  }
}
.main-menu {
  --nav-line-color: rgba(var(--nav-child-text-color) / 0.2);
  font-family: var(--navigation-font-family);
  font-style: var(--navigation-font-style);
  font-weight: var(--navigation-font-weight);
}

.main-menu .badge {
  white-space: normal;
}

.grandchild-nav__item,
.main-nav__item--go,
.mega-nav--pills.mega-nav--no-grandchildren .main-nav__item:not(.main-nav__item-header) {
  font-family: var(--body-font-family);
  font-style: var(--body-font-style);
  font-weight: var(--body-font-weight);
}

.main-menu__toggle {
  position: relative;
  width: 44px;
  height: 44px;
  margin-inline-start: 10px;
  margin-inline-end: -10px;
}

.main-menu__toggle::before,
.main-menu__toggle::after,
.main-menu__toggle-icon::before,
.main-menu__toggle-icon::after {
  content: "";
  display: block;
  position: absolute;
  left: 12px;
  width: 20px;
  height: 2px;
  transform: rotate(0deg);
  transition: 0.3s ease-in-out;
  transition-property: transform, width, top, left;
  background: currentColor;
}

.main-menu__toggle-icon::before {
  top: 14px;
}

.main-menu__toggle::before,
.main-menu__toggle::after {
  top: 21px;
}

.main-menu__toggle-icon::after {
  top: 28px;
}

.no-js .main-nav__item-content {
  pointer-events: none;
}

.main-menu__disclosure.is-open .main-menu__toggle-icon::before,
.main-menu__disclosure.is-open .main-menu__toggle-icon::after,
.no-js .main-menu__disclosure[open] .main-menu__toggle-icon::before,
.no-js .main-menu__disclosure[open] .main-menu__toggle-icon::after {
  top: 21px;
  left: 22px;
  width: 0;
}
.main-menu__disclosure.is-open .main-menu__toggle::before,
.no-js .main-menu__disclosure[open] .main-menu__toggle::before {
  transform: rotate(45deg);
}
.main-menu__disclosure.is-open .main-menu__toggle::after,
.no-js .main-menu__disclosure[open] .main-menu__toggle::after {
  transform: rotate(-45deg);
}

.main-nav__item,
.secondary-nav__item {
  color: currentColor;
}

.secondary-nav__cta .icon {
  flex-shrink: 0;
}
.secondary-nav__cta .icon + span {
  margin-inline-start: 10px;
}

.secondary-nav__item.secondary-nav__cta--button {
  padding: 0.3em 0.9em;
  transition: background-position 0.4s ease-out;
  border-radius: var(--btn-border-radius, 0);
  background: rgb(var(--cta-bg-hover-color)) linear-gradient(104deg, rgb(var(--cta-bg-hover-color)) 60%, rgb(var(--cta-bg-color)) 60%, rgb(var(--cta-bg-color)) 100%) no-repeat 100% 100%;
  background-size: 300% 100%;
  line-height: 1.2;
}

.main-nav__item--toggle .icon,
.main-nav__item--back .icon,
.main-nav__item--go .icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-inline-start: 5px;
  transition: transform 0.3s;
}

.main-nav__item--go {
  display: flex;
  align-items: center;
  color: rgba(var(--nav-child-text-color)/0.7);
}

.main-nav__item--go .icon,
.main-nav__icon-circle .icon {
  width: 15px;
  height: 15px;
  margin-inline-start: calc(2 * var(--space-unit));
  padding: 1px;
  border: 1px solid;
  border-radius: 50%;
}

.child-nav details[open]:not(.is-closing) .icon {
  transform: scaleY(-1);
}

.main-nav__item--toggle {
  width: auto;
}
.main-nav__item--toggle .main-nav__item-content {
  display: inline-flex;
  align-items: center;
}
.main-nav__item--toggle .main-nav__item--primary {
  align-items: flex-end;
}
.main-nav__item--toggle .icon {
  transform: rotate(0deg);
}

.main-nav__link--featured {
  color: rgb(var(--header-accent-color));
}

.main-nav__grandchild {
  padding: 0 16px 2.5rem;
}
.main-nav__grandchild .main-nav__item {
  display: block;
}
.main-nav__grandchild .main-nav__item,
.main-nav__grandchild .main-nav__item--go {
  padding: 8px 0;
}

.main-menu .custom-select__listbox {
  top: auto;
  bottom: 5px;
}

.main-nav__collection-image--flex {
  flex: 0 0 auto;
}

.main-nav__collection-image {
  flex-basis: var(--image-size, 40px);
  width: var(--image-size), 40px;
  height: var(--image-size, 40px);
}

.main-nav__collection-image--standard {
  --image-size: 30px;
}

.main-nav__collection-image--large {
  --image-size: 40px;
}

.main-nav__collection-image-circle {
  border-radius: 50%;
}

@media (hover: none) {
  .main-nav__item-content {
    pointer-events: none;
  }
}
@media (hover: hover) and (pointer: fine) {
  .secondary-nav__item.secondary-nav__cta--button:hover {
    background-position: 0 100%;
    box-shadow: none;
  }
}
@media (max-width: 1023.98px) {
  .secondary-nav__item {
    font-weight: normal;
  }
  .main-menu--left-mob {
    order: -1;
  }
  .main-menu--left-mob .main-menu__toggle {
    margin-top: 0;
    margin-bottom: 0;
    margin-inline-start: -10px;
    margin-inline-end: 10px;
  }
  .main-menu__content {
    visibility: hidden;
    width: 100vw;
    min-width: 0;
    max-width: none;
    padding-bottom: calc(8 * var(--space-unit));
    overflow: hidden;
    box-shadow: 0 -1px 0 var(--nav-line-color);
  }
  .main-menu__content,
  .js .main-nav__child {
    position: fixed;
    z-index: 30;
    top: var(--header-end, 100px);
    left: 0;
    width: 100vw;
    height: calc(var(--viewport-height) - var(--header-end, 100px));
    padding-right: var(--gutter);
    padding-bottom: 60px;
    padding-left: var(--gutter);
    overflow-y: scroll;
    background-color: rgb(var(--nav-child-bg-color));
    color: rgb(var(--nav-child-text-color));
  }
  .main-menu__disclosure.is-closing > .main-menu__content,
  .main-menu__disclosure > .main-menu__content {
    transition: opacity 0.3s, visibility 0.3s;
    opacity: 0;
  }
  .main-menu__disclosure.is-open > .main-menu__content {
    opacity: 1;
  }
  .main-menu__content--no-focus {
    overflow: hidden;
  }
  .main-nav > li,
  .child-nav > li,
  .grandchild-nav > li {
    border-bottom: 1px solid var(--nav-line-color);
  }
  .main-nav__item {
    display: block;
    width: 100%;
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
    padding-inline-start: 16px;
    padding-inline-end: 44px;
    line-height: 1.5;
  }
  .main-nav__item-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    pointer-events: none;
  }
  .main-nav__item--toggle .icon {
    position: absolute;
    right: 16px;
    margin-inline-end: -4px;
  }
  [dir=rtl] .main-nav__item--toggle .icon {
    right: auto;
    left: 16px;
  }
  .main-nav__item--toggle .main-nav__item:not(.child-nav__item) .icon {
    transform: rotate(-90deg);
  }
  [dir=rtl] .main-nav__item--toggle .main-nav__item:not(.child-nav__item) .icon {
    transform: rotate(90deg);
  }
  .main-nav__item--back {
    color: rgb(var(--header-accent-color));
  }
  .main-nav__item--back .main-nav__item-content {
    justify-content: flex-start;
  }
  .main-nav__item--back .main-nav__item-content > .icon {
    margin-inline-start: -4px;
    margin-inline-end: calc(2 * var(--space-unit));
  }
  .mega-nav > .container {
    padding: 0;
  }
  .mega-nav .main-nav__item--toggle {
    padding-top: 0;
    padding-bottom: 0;
  }
  .no-js .mega-nav .main-nav__item--toggle {
    margin-top: 0;
  }
  .js .is-open > .main-menu__content,
  .no-js [open] > .main-menu__content {
    visibility: visible;
    pointer-events: initial;
  }
  .js .main-nav__child,
  .js .main-nav__child.is-closing {
    transform: translate3d(100%, 0, 0);
    transition: transform 0.2s ease-out;
  }
  .js .is-open:not(.is-closing) > .main-nav__child {
    transform: translate3d(0, 0, 0);
  }
  .no-js .main-nav__item--toggle .icon {
    transform: rotate(0);
  }
  .no-js .main-nav__child {
    padding: 0 0 0 16px;
  }
  .no-js .main-nav__child .md\:hidden {
    display: none;
  }
  .no-js .child-nav > li,
  .no-js .main-nav__grandchild > li {
    border-bottom: 0;
  }
  .no-js .child-nav__item {
    padding: 1.6rem 0;
  }
  .secondary-nav {
    margin-top: calc(12 * var(--space-unit));
    padding: 0 16px;
  }
  .secondary-nav > li:not(:only-child) {
    margin-top: 2rem;
  }
  .secondary-nav__item.secondary-nav__cta--button {
    padding: 0.5em 1.1em;
  }
  .main-menu .localization {
    margin-top: calc(12 * var(--space-unit));
    padding: 0 16px;
  }
  .mob__localization .localization__selector {
    margin-bottom: calc(4 * var(--space-unit));
  }
  .mob__localization .localization__selector:last-child {
    margin-bottom: 0;
  }
  .main-nav__grandchild li:first-child .main-nav__item {
    padding-top: 0;
  }
  .main-nav__grandchild {
    max-width: none !important;
  }
  .main-nav__collection-image {
    margin-inline-start: 16px;
  }
}
@media (min-width: 1024px) {
  body:not(.tab-used) .main-nav__item--toggle {
    outline: none !important;
  }
  .main-menu {
    width: 100%;
    background-color: rgb(var(--nav-bg-color));
    color: rgb(var(--nav-text-color));
  }
  .main-menu .localization {
    display: none;
  }
  .main-nav {
    flex-wrap: wrap;
  }
  .main-nav,
  .secondary-nav {
    display: flex;
    align-items: flex-end;
    margin: 0 -1.2rem;
  }
  .secondary-nav {
    min-height: calc(2rem + 1.2em);
  }
  .main-nav__item--primary,
  .secondary-nav__item {
    display: block;
    margin: 0 1.2rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    transition: box-shadow 0.1s;
    line-height: 1.2em;
  }
  .main-nav__item--primary:hover, .main-nav__item--primary.is-active, .is-open > summary > .main-nav__item--primary,
  .secondary-nav__item:hover,
  .secondary-nav__item.is-active,
  .is-open > summary > .secondary-nav__item {
    box-shadow: inset 0 -2px 0 0 currentColor;
  }
  .secondary-nav__cta {
    display: flex;
    white-space: nowrap;
  }
  .secondary-nav__item.secondary-nav__cta--button {
    line-height: 1;
  }
  .secondary-nav__item:not(.secondary-nav__cta) {
    color: rgba(var(--nav-text-color)/0.6);
    white-space: nowrap;
  }
  .child-nav__item--toggle .main-nav__item-content {
    pointer-events: initial;
  }
  .child-nav__item,
  .child-nav__item--toggle,
  .grandchild-nav__item {
    transition: color 0.3s;
  }
  .child-nav__item:hover,
  .child-nav__item--toggle:hover,
  .grandchild-nav__item:hover {
    color: rgba(var(--nav-child-text-color)/0.7);
  }
  [open] > .main-nav__item--primary .icon {
    transform: rotate(180deg);
  }
  .main-nav__child {
    visibility: hidden;
    position: absolute;
    z-index: 10;
    top: 100%;
    min-width: 170px;
    max-height: max(100vh - var(--content-start, 150px) - 70px, 60vh);
    padding: 2rem 1.2rem;
    overflow: auto;
    transition: transform 0.3s, opacity 0.2s, visibility 0.3s;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    border-top: 1px solid var(--nav-line-color);
    background-color: rgb(var(--nav-child-bg-color));
    box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.1);
    color: rgb(var(--nav-child-text-color));
  }
  .main-nav__child.mega-nav {
    left: 0;
    width: var(--viewport-width, 100vw);
    padding: calc(8 * var(--space-unit)) 0;
    transition-delay: 0.3s;
  }
  .is-closing > .main-nav__child, .main-nav__child {
    z-index: -1;
    transform: translateY(-10px);
    opacity: 0;
  }
  .is-open > .main-nav__child, .no-js details[open] .main-nav__child {
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0s;
    opacity: 1;
  }
  .main-nav__child--offset-right {
    right: 5px;
  }
  .child-nav--dropdown {
    max-width: 300px;
  }
  .main-nav__grandchild .main-nav__item,
  .main-nav__grandchild .main-nav__item--go {
    padding: 8px 0;
    font-size: 0.88em;
  }
  .child-nav__item {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .child-nav__item,
  .main-nav__grandchild {
    display: block;
    padding-right: 2rem;
    padding-left: 2rem;
  }
  .child-nav--dropdown .main-nav__grandchild {
    padding-bottom: 0.5em;
  }
  .child-nav--dropdown .child-nav__item--toggle {
    position: relative;
    padding-inline-end: 5rem;
  }
  .child-nav--dropdown .child-nav__item--toggle .main-nav__item-content,
  .child-nav--dropdown .child-nav__item--toggle .child-nav__item {
    width: 100%;
  }
  .child-nav--dropdown .child-nav__item--toggle .icon {
    position: absolute;
    right: 2rem;
    margin-top: 2px;
    margin-inline-start: 10px;
  }
  [dir=rtl] .child-nav--dropdown .child-nav__item--toggle .icon {
    right: auto;
    left: 2em;
  }
}
@media (min-width: 835px) {
  .main-menu__content {
    display: flex;
  }
  .secondary-nav {
    margin-top: 1px;
    padding-inline-start: calc(12 * var(--space-unit));
  }
}
.pagination--modern {
  max-width: 250px;
}

.pagination[aria-disabled=true],
.pagination--modern[aria-disabled=true] {
  opacity: 0.4;
  cursor: default;
}

.pagination.is-loading li {
  opacity: 0.3;
  cursor: default;
  pointer-events: none;
}

.pagination__arrow[aria-disabled=true] {
  opacity: 0.4;
}

.pagination__arrow-icon svg {
  width: 18px;
}

.pagination__next-label {
  margin-inline-end: calc(2 * var(--space-unit));
}

.pagination__item {
  flex: 1;
}

.pagination__page-link,
.pagination__page-current {
  padding: 8px 14px;
}

.pagination__page-link {
  color: rgba(var(--text-color)/0.8);
}

.pagination__page-link:hover,
.pagination__page-current {
  background: linear-gradient(to top, currentColor 2px, transparent 2px) no-repeat center bottom/1.3em;
}

.pagination__bar {
  height: 2px;
  background-color: rgba(var(--text-color)/0.2);
}
.pagination__bar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: var(--pagination-percent);
  height: 2px;
  transition: width 0.3s;
  background-color: rgb(var(--text-color));
}

@media (min-width: 1280px) {
  .pagination {
    justify-content: center;
    width: auto;
    overflow-wrap: normal;
  }
  .pagination__item--arrow {
    flex: 0;
  }
  .pagination__arrow {
    margin: 0 calc(2 * var(--space-unit));
    padding: 0 26px;
  }
  .pagination__arrow--prev {
    margin-inline-end: calc(8 * var(--space-unit));
  }
  .pagination__arrow--next {
    margin-inline-start: calc(8 * var(--space-unit));
  }
}
.price__current {
  padding-inline-end: 0.5rem;
  font-size: 1em;
  font-weight: bold;
  white-space: nowrap;
}

.price__from {
  font-size: 0.85em;
  font-weight: normal;
}

.price__was {
  color: rgba(var(--text-color)/0.8);
  font-size: 0.8em;
  text-decoration: line-through;
  white-space: nowrap;
}

.price__was--supercents {
  position: relative;
  text-decoration: none;
}
.price__was--supercents::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  transform: rotate(-10deg);
  border-top: 1px solid currentColor;
}

.unit-price {
  font-size: 0.8em;
  white-space: nowrap;
}
.unit-price::before {
  content: "(";
}
.unit-price::after {
  content: ")";
}

.predictive-result__info .price__current {
  font-size: 1.6rem;
  font-weight: normal;
}
.predictive-result__info .price__was {
  font-size: 1.3rem;
}

sup {
  position: relative;
  top: -0.5em;
  margin-left: 1px;
  font-size: 60%;
  vertical-align: baseline;
}

.qty-input {
  --padding: var(--btn-padding-y, 12px);
  --size: calc((var(--btn-border-width) + var(--padding)) * 2 + 1.4rem);
}

.qty-input__input {
  width: var(--size);
  margin: 0;
  padding-top: var(--padding);
  padding-bottom: var(--padding);
  border: var(--btn-border-width) solid rgba(var(--input-text-color)/0.2);
  text-align: center;
}

.qty-input__btn {
  position: relative;
  z-index: 1;
  width: var(--size);
  height: var(--size);
  padding: 0;
  border: var(--btn-border-width) solid rgba(var(--input-text-color)/0.2);
  border-radius: var(--btn-border-radius, 0);
  background-color: rgb(var(--input-bg-color));
  color: rgb(var(--input-text-color));
}

.btn--minus::before, .btn--minus::after,
.btn--plus::before,
.btn--plus::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 50%;
  width: 12px;
  height: 2px;
  transform: translate(50%, -50%);
  background-color: currentColor;
}
.btn--minus::after,
.btn--plus::after {
  width: 2px;
  height: 12px;
}

.btn--minus::after {
  display: none;
}

.js .qty-input--combined {
  border: var(--btn-border-width) solid rgba(var(--input-text-color)/0.2);
  border-radius: var(--btn-border-radius, 0);
  background-color: rgb(var(--input-bg-color));
}
.js .qty-input--combined:focus-within {
  border-color: rgba(var(--input-text-color)/0.6);
  box-shadow: 0 0 0 1px rgba(var(--input-text-color)/0.6);
}
.js .qty-input--combined .qty-input__input,
.js .qty-input--combined .qty-input__btn {
  border: 0;
  background: none;
  color: rgb(var(--input-text-color));
}
.js .qty-input--combined .qty-input__input {
  padding: var(--padding) 0;
  border-radius: 0;
  box-shadow: none;
}
.js .qty-input--combined .qty-input__btn {
  width: calc(var(--padding) * 2 + 1.4rem);
  height: calc(var(--padding) * 2 + 1.4rem);
}

.qty-input {
  height: 100%;
}

.qty-input__input {
  flex: 1 1 auto;
  width: 2.5em;
}
.no-js .qty-input__input {
  width: 4em;
  padding-right: 5px;
  padding-left: 5px;
}

.js .qty-input--combined:focus-within {
  box-shadow: 0 0 0 0 rgba(var(--input-text-color)/0.6);
}

.qty-input--secondary-btn .qty-input {
  --input-text-color: var(--btn-alt-text-color);
  border-color: rgb(var(--btn-alt-text-color));
  background-color: rgba(var(--btn-alt-bg-color)/var(--btn-alt-bg-alpha));
}
.qty-input--secondary-btn .qty-input:focus-within {
  border-color: rgb(var(--btn-alt-text-color));
  box-shadow: 0 0 0 1px rgb(var(--btn-alt-text-color));
}

.rating,
.rating__count {
  line-height: 1.5rem;
}

.rating__stars {
  --no-rating-col: rgba(var(--star-color)/0.2);
  --percent: calc((var(--rating) / var(--rating-max) + 0.01) * 100%);
  background: linear-gradient(90deg, rgb(var(--star-color)) var(--percent), var(--no-rating-col) var(--percent));
  background-clip: text;
  font-family: Times;
  font-size: 1.125em;
  letter-spacing: -0.1em;
  line-height: 1;
  -webkit-text-fill-color: transparent;
}

.rating__count {
  margin-inline-start: 0.5em;
}

.spr-stars > span {
  display: flex;
  align-items: center;
  height: 100%;
}

.spr-star {
  margin-inline-end: 2px;
}

@keyframes marquee {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-100%, 0, 0);
  }
}
.scrolling-banner--pausable:hover {
  --play-state: paused;
}

.scrolling-banner__items-container {
  direction: ltr;
}

.scrolling-banner__items {
  animation: marquee var(--duration, 10s) linear infinite var(--play-state, running) var(--direction);
}
[dir=rtl] .scrolling-banner__items {
  direction: rtl;
}

.scrolling-banner__items,
.scrolling-banner__item {
  white-space: nowrap;
}

a.scrolling-banner__item {
  transition: opacity 0.3s;
  color: currentColor;
}
a.scrolling-banner__item:hover {
  opacity: 0.6;
}

.scrolling-banner__text {
  margin-bottom: 0;
}

.search {
  position: relative;
  margin: 6px 0;
  transition: margin var(--header-transition-speed);
}

.search__form {
  position: relative;
}

.search__input {
  --input-text-color: var(--text-color);
  padding-inline-start: 54px;
  padding-inline-end: 54px;
  border: 0;
  border-radius: var(--input-lg-border-radius, var(--input-border-radius));
  background-color: var(--search-bg-color, rgba(var(--text-color)/0.08));
  color: rgb(var(--text-color));
  font-size: var(--body-font-size);
  line-height: 1em;
  text-transform: initial;
}
body:not(.tab-used) .search__input {
  outline: none;
}
.search__input::placeholder {
  color: rgba(var(--text-color)/0.5);
}

.search__submit {
  top: calc(50% - 22px);
  min-height: 44px;
  padding: 12px 24px;
  padding-inline-end: 0;
}

@media (max-width: 1023.98px) {
  .search__submit {
    padding-inline-start: 20px;
  }
  .search-is-collapsed .header__search--collapsible-mob .search {
    margin: 0;
  }
}
@media (min-width: 1024px) {
  .search {
    margin: 0 0 15px;
  }
}
@media (min-width: 1024px) {
  .search__input {
    padding-top: 12px;
    padding-bottom: 12px;
  }
  .cc-main-search .search__input {
    width: 600px;
  }
}
.drawer {
  --longest-transition-in-ms: 700;
  visibility: hidden;
  z-index: 40;
  max-width: 540px;
  height: var(--viewport-height, 100vh);
  overflow: auto;
  transform: translate3d(100%, 0, 0);
  transition: visibility 0s 0.6s, transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  outline: 0;
  background-color: rgba(var(--drawer-bg-color));
  color: rgb(var(--drawer-text-color));
}
.drawer[open] {
  visibility: visible;
  transform: translate3d(0, 0, 0);
  transition: visibility 0s 0s, transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}
.drawer:not(.facets) {
  border-radius: var(--drawer-border-radius) 0 0 var(--drawer-border-radius);
  box-shadow: -2px 1px 10px 2px rgba(0, 0, 0, 0.2);
}
.drawer[aria-modal] {
  --bg-color: var(--drawer-bg-color);
  --heading-color: var(--drawer-text-color);
  --link-color: var(--drawer-text-color);
  --text-color: var(--drawer-text-color);
  --swatch-border-color-active: var(--drawer-text-color);
}

.cart-drawer-popup__content shipping-calculator h2,
.cart-drawer-popup__content cart-note h2 {
  margin-bottom: calc(6 * var(--space-unit));
}

.drawer__header {
  justify-content: space-between;
  border-bottom: 1px solid rgba(var(--drawer-text-color)/0.2);
}

.drawer__header--no-border {
  border-bottom: 0;
}

.drawer__close-btn,
.drawer__back-btn,
.cart-drawer-popup__btn {
  margin: -10px;
  padding: 10px;
  color: rgb(var(--heading-color));
}

.drawer__content {
  overflow: auto;
  transition: opacity 0.6s;
}
.js .drawer__content {
  display: none;
  opacity: 0;
}
.js [open] > .drawer__content:not(.drawer__content--out) {
  display: block;
  opacity: 1;
}
.js [open] > .drawer__content:not(.drawer__content--out).drawer__content--flex {
  display: flex;
  flex-direction: column;
}
.js .dom-loaded-plus-2 .drawer__content {
  display: block;
}

.cart-drawer__summary--top,
.cart-drawer__summary--top .cart-drawer-popup {
  border-bottom: 1px solid rgba(var(--drawer-text-color)/0.2);
}

.cart-drawer-summary-top.cart-drawer--checkout--sticky-true {
  z-index: 10;
}

.cart-drawer__summary {
  background-color: rgba(var(--drawer-bg-color));
}

.cart-drawer--checkout--sticky-true {
  position: sticky;
  top: calc(var(--cart-drawer__summary-height, 0) * -1 + var(--cart-drawer__checkout-buttons-height, 0) + 6 * var(--space-unit) + 2px);
}

.cart-drawer__summary--top.cart-drawer--checkout--sticky-true {
  z-index: 10;
  border-top: 1px solid rgba(var(--drawer-text-color)/0.2);
}

.drawer__footer:empty,
.cart-drawer__summary:empty {
  display: none;
}
[open] > .drawer__footer:not(.drawer__footer--out),
[open] > .cart-drawer__summary:not(.drawer__footer--out) {
  transform: translate3d(0, 0, 0);
  transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0.2s, opacity 0.7s;
  opacity: 1;
}

.drawer__footer {
  z-index: 5;
  transform: translate3d(0, 100%, 0);
  transition: transform 0s 0.4s, opacity 0.7s;
  opacity: 0;
  box-shadow: 0 -2px 8px 0 rgba(var(--drawer-text-color)/0.08);
}

.cart-drawer-popup {
  z-index: 2;
  max-height: 100vh;
  overflow: auto;
  transition: height 0.3s cubic-bezier(0.2, 0.6, 0.4, 1);
  background-color: rgba(var(--drawer-bg-color));
}

.drawer__header,
.drawer__footer,
.drawer__content,
.cart-drawer-popup__content,
.cart-drawer__summary {
  padding: var(--gutter);
}

.drawer--cart .cart-recommendations,
.cart-drawer__promoted-products,
.cart-drawer__media-promotion {
  padding: 0 var(--gutter) var(--gutter) var(--gutter);
}

.drawer--cart .cart-recommendations,
.cart-drawer__promoted-products {
  max-width: 100%;
  padding-top: 0;
}

.drawer--cart .drawer__header,
.quick-add__header {
  position: sticky;
  z-index: 4;
  top: 0;
  background-color: rgba(var(--bg-color));
}

.drawer--cart .drawer__content {
  padding: 0;
}

.cart-drawer__content {
  padding: var(--gutter);
}

.cart-drawer-popup__btn {
  --end-gutter: var(--gutter);
  top: calc(6 * var(--space-unit));
}
.cart-drawer-popup__btn > .icon {
  display: block;
}

.overlay--drawer {
  z-index: 4;
  background-color: rgba(0, 0, 0, 0.25);
}

.cc-main-cart .icon--cart {
  display: none;
}

[data-empty=true] .cart-empty svg {
  display: block;
  width: 44px;
  height: 44px;
  margin-bottom: 1em;
}

.drawer__empty-with-promotions {
  flex-direction: column;
}
.drawer__empty-with-promotions .cart-drawer__content {
  display: flex;
  flex-grow: 1;
}

.cart-drawer__media-promotion-container {
  position: sticky;
  top: 100%;
}

@media (max-width: 767px) {
  .drawer {
    top: auto;
    bottom: 0;
    height: calc(100dvh - 100px);
    transform: translate3d(0, 100%, 0);
  }
  .drawer:not(.facets) {
    border-radius: var(--drawer-border-radius) var(--drawer-border-radius) 0 0;
  }
}
@media (min-width: 1024px) {
  .drawer__header,
  .drawer__footer,
  .drawer__content,
  .cart-drawer-popup__content,
  .cart-drawer__content,
  .cart-drawer__summary {
    padding: calc(6 * var(--space-unit)) calc(8 * var(--space-unit));
  }
  .cart-drawer__content {
    padding-bottom: calc(8 * var(--space-unit));
  }
  .drawer--cart .cart-recommendations,
  .cart-drawer__promoted-products,
  .cart-drawer__media-promotion {
    padding: 0 calc(8 * var(--space-unit)) calc(8 * var(--space-unit));
  }
  .cart-drawer-popup__btn {
    --end-gutter: calc(8 * var(--space-unit));
  }
}
.slider {
  --scrollbar-border-width: 11px;
  padding-bottom: calc(4 * var(--space-unit));
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: rgb(var(--scrollbar-color, 60 60 60)) rgba(var(--scrollbar-color, 60 60 60)/0.05);
  scroll-behavior: smooth;
}
.slider[data-overlayscrollbars-viewport] {
  position: static;
  scroll-snap-type: none;
  scroll-behavior: auto;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 0 calc(10 * var(--space-unit)) !important;
}
.slider.is-grabbable {
  cursor: grab;
  -webkit-user-select: none;
          user-select: none;
}
.slider.is-grabbable img {
  pointer-events: none;
}
.slider.is-grabbing {
  cursor: grabbing;
}
.slider.is-dragging a {
  pointer-events: none;
}
@supports selector(::-webkit-scrollbar) {
  .slider::-webkit-scrollbar {
    height: 24px;
  }
  .slider::-webkit-scrollbar-thumb {
    border: var(--scrollbar-border-width) solid transparent;
    border-radius: var(--btn-border-radius, 0);
    box-shadow: inset 0 0 0 2px rgb(var(--scrollbar-color, 60 60 60));
  }
  .slider::-webkit-scrollbar-thumb:hover {
    border-width: 10px;
  }
  .slider::-webkit-scrollbar-track {
    margin: 0 calc(var(--gutter) - var(--scrollbar-border-width));
    border: var(--scrollbar-border-width) solid transparent;
    border-radius: var(--btn-border-radius, 0);
    box-shadow: inset 0 0 0 2px rgba(var(--scrollbar-color, 60 60 60)/0.3);
  }
}

.os-scrollbar-horizontal {
  right: var(--gutter) !important;
  left: var(--gutter) !important;
}

.os-scrollbar.os-theme-dark {
  --os-size: 14px;
  --os-padding-perpendicular: 6px;
  --os-handle-bg: rgb(var(--scrollbar-color, 60 60 60));
  --os-handle-bg-hover: rgb(var(--scrollbar-color, 60 60 60));
  --os-handle-bg-active: rgb(var(--scrollbar-color, 60 60 60));
  --os-track-bg: rgba(var(--scrollbar-color, 60 60 60) / 0.3);
  --os-track-bg-hover: rgba(var(--scrollbar-color, 60 60 60) / 0.3);
  --os-track-bg-active: rgba(var(--scrollbar-color, 60 60 60) / 0.3);
}

.slider.slider--no-scrollbar {
  padding: 0;
  scrollbar-width: none;
}
.slider.slider--no-scrollbar::-webkit-scrollbar {
  display: none;
}

.carousel[inactive] .slider,
.carousel[inactive] > div > .slider {
  padding-bottom: 0;
}
.carousel[inactive] > .slider-nav,
.carousel[inactive] > div > .slider-nav,
.carousel[inactive] > div > div > .slider-nav {
  display: none;
}
.carousel[inactive] > .slider::-webkit-scrollbar-thumb,
.carousel[inactive] > div > .slider::-webkit-scrollbar-thumb {
  display: none;
}
.carousel[inactive] > .slider::-webkit-scrollbar-track,
.carousel[inactive] > div > .slider::-webkit-scrollbar-track {
  display: none;
}

.slider__item {
  scroll-snap-align: start;
}

.slider-nav--show-on-hover {
  transition: opacity 0.3s;
  opacity: 0;
}
.slider-nav--show-on-hover .slider-nav__btn {
  transform: translateX(20px);
  transition: opacity 0.2s ease, transform 0.3s cubic-bezier(0.2, 0.6, 0.4, 1);
}
.carousel:hover .slider-nav--show-on-hover {
  opacity: 1;
}
.carousel:hover .slider-nav--show-on-hover .slider-nav__btn {
  transform: translateX(0);
}
.carousel:hover .slider-nav--show-on-hover .slider-nav__btn:nth-child(2) {
  transition-delay: 0.05s;
}

.slider-nav {
  --btn-border-radius: var(--btn-icon-border-radius);
}

.slider-nav:not(.slide-nav--inline) {
  z-index: 3;
  top: 50%;
  right: var(--gutter);
  transform: translate(50%, -50%);
}
[dir=rtl] .slider-nav:not(.slide-nav--inline) {
  right: auto;
  left: var(--gutter);
  transform: translate(-50%, -50%);
}

.slider-nav__btn {
  display: block;
  margin-top: calc(3 * var(--space-unit));
  margin-bottom: calc(3 * var(--space-unit));
}
.slider-nav__btn:not([disabled]) .icon {
  transition: transform 0.3s;
}
.slider-nav__btn:not([disabled]):hover .icon {
  transform: scale(1.25);
}
.slide-nav--inline .slider-nav__btn {
  margin-top: 0;
  margin-bottom: 0;
  overflow: hidden;
  color: currentColor;
}

.slider-nav__btn--offset {
  margin-inline-end: -10px;
}

[dir=rtl] .slider-nav__btn.has-ltr-icon .icon {
  transform: rotate(180deg);
}
[dir=rtl] .slider-nav__btn.has-ltr-icon:not([disabled]):hover .icon {
  transform: rotate(180deg) scale(1.25);
}

.slider-nav > .btn {
  padding: calc(8px - var(--btn-border-width));
}

@media (max-width: 599.98px) {
  .slider .slider__grid {
    width: calc(100% - var(--column-gap));
  }
  .drawer--cart .slider__grid {
    width: 100%;
  }
  .carousel[disable-mobile=true] > .slider,
  .carousel[disable-mobile=true] > div > .slider {
    overflow: auto;
    cursor: auto;
    -webkit-user-select: auto;
            user-select: auto;
    scroll-snap-type: none;
  }
  .carousel[disable-mobile=true] > .slider > .slider__grid,
  .carousel[disable-mobile=true] > .slider > div > .slider__grid,
  .carousel[disable-mobile=true] > div > .slider > .slider__grid,
  .carousel[disable-mobile=true] > div > .slider > div > .slider__grid {
    grid-auto-flow: row;
  }
  product-card-image-slider[disable-mobile=true] > div > .slider {
    overflow: hidden !important;
  }
  product-card-image-slider[disable-mobile=true] > div > .slider > .slider__grid {
    grid-auto-flow: column !important;
  }
}
@media (min-width: 600px) {
  .carousel[disable-desktop=true] > .slider,
  .carousel[disable-desktop=true] > div > .slider {
    overflow: auto;
    cursor: auto;
    -webkit-user-select: auto;
            user-select: auto;
    scroll-snap-type: none;
  }
  .carousel[disable-desktop=true] > .slider > div > .slider__grid,
  .carousel[disable-desktop=true] > div > .slider > div > .slider__grid {
    grid-auto-flow: row;
    overflow: hidden;
  }
}
@media (min-width: 1024px) {
  .carousel:not([inactive]) .section__heading {
    text-align: start;
  }
  carousel-slider[disable-desktop=true] > [data-overlayscrollbars-viewport],
  carousel-slider[disable-desktop=true] > div > [data-overlayscrollbars-viewport],
  product-comparison-grid[disable-desktop=true] [data-overlayscrollbars-viewport] {
    padding: 0 !important;
  }
}
@media (max-width: 1023.98px) {
  .carousel > .container {
    padding: 0;
  }
  .carousel__header {
    padding: 0 var(--gutter);
  }
  .slider:not(.slider--no-scrollbar) {
    width: 100%;
    scroll-padding-left: var(--gutter);
  }
  [dir=rtl] .slider:not(.slider--no-scrollbar) {
    scroll-padding-right: var(--gutter);
    scroll-padding-left: 0;
  }
  .slider:not(.slider--contained) .slider__item:last-child {
    width: calc(100% + var(--gutter));
    border-inline-end: var(--gutter) solid transparent;
  }
}
@media (min-width: 1024px) {
  .slider::-webkit-scrollbar-track {
    margin: 0 calc(var(--scrollbar-border-width) * -1);
  }
  .slider[data-overlayscrollbars-viewport] {
    padding-bottom: calc(14 * var(--space-unit)) !important;
  }
  .slider > .container {
    padding: 0;
  }
}
@media (min-width: 1280px) {
  .slider-nav:not(.slide-nav--inline) {
    transform: translate(calc(100% + var(--gutter-lg, 80px) / 4), -50%);
  }
  [dir=rtl] .slider-nav:not(.slide-nav--inline) {
    transform: translate(-50%, -50%);
  }
}
.social {
  margin: -10px;
}

.social__link {
  width: 44px;
  height: 44px;
  padding: 10px;
  color: rgb(var(--text-color));
}
.social__link > .icon {
  width: auto;
  max-width: 100%;
  height: 100%;
}
.social__link > .icon,
.social__link > img {
  transition: transform 0.3s ease-out;
}
.social__link:hover > .icon, .social__link:hover > img {
  transform: scale(1.2);
}

.social-share__heading {
  margin-inline-end: calc(4 * var(--space-unit));
}

[data-swatch]::before {
  background-color: var(--swatch-color, var(--native-swatch-color, rgb(var(--text-color)/0.08)));
  background-image: var(--swatch-image, var(--native-swatch-image, none));
}

.card__swatches {
  z-index: 3;
  flex-wrap: wrap;
  padding: calc(3 * var(--space-unit)) 0 0;
  padding-inline-end: 2px;
  row-gap: calc(3 * var(--space-unit));
}
.card__swatches > .opt-label {
  width: var(--swatch-card-size, 24px);
  height: var(--swatch-card-size, 24px);
  margin-top: 0;
  margin-inline-start: 2px;
  margin-inline-end: 8px;
  border-width: 1px;
}
.card__swatches > .opt-label.swatch-shape--portrait {
  height: calc(var(--swatch-card-size, 24px) / 0.75);
}
.card__swatches > .opt-label.swatch-shape--natural:has(img) {
  height: auto;
}

.swatch-shape--natural.swatch--native {
  height: auto;
}
.swatch-shape--natural.swatch--native::before {
  display: none;
}

.option-selector__btns:has(.swatch-shape--natural.swatch--native) {
  align-items: flex-start;
}

label[data-swatch],
span[data-swatch],
.filter__label[data-swatch]::before {
  width: var(--swatch-variant-picker-size, 36px);
  min-width: 0;
  height: var(--swatch-variant-picker-size, 36px);
  padding: 0;
  overflow: hidden;
  transition: box-shadow 0.1s, border-color 0.2s ease-out;
  border: 1px solid rgb(var(--swatch-border-color-default));
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(var(--text-color)/0);
  cursor: pointer;
}

label[data-swatch]:hover,
.filter__label[data-swatch]:hover::before {
  border: 2px solid rgba(var(--bg-color));
  box-shadow: 0 0 0 2px rgb(var(--swatch-border-color-default));
}

label[data-swatch]:hover .opt-label__native-media,
input:checked + label[data-swatch] .opt-label__native-media {
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
}

span[data-swatch] {
  cursor: default;
}

input:checked + .opt-label--swatch,
input:checked + .filter__label[data-swatch]::before {
  border: 2px solid rgba(var(--bg-color));
  box-shadow: 0 0 0 2px rgb(var(--swatch-border-color-active));
}

label[data-swatch]::before,
span[data-swatch]::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.swatch-shape--not-circle[data-swatch],
.swatch-shape--not-circle[data-swatch]::before {
  border-radius: 0;
}

variant-picker:not([data-availability=false]):not(.variant-picker--pre-last-selection.variant-picker--product-available) .is-unavailable + .opt-label--swatch .opt-label__media::after,
variant-picker:not([data-availability=false]):not(.variant-picker--pre-last-selection.variant-picker--product-available) .is-unavailable + .opt-label--swatch:not(.opt-label--image)::after {
  background: linear-gradient(to bottom left, transparent calc(50% - 1px), rgba(var(--bg-color)) calc(50% - 1px), rgba(var(--bg-color)) calc(50% + 1px), transparent calc(50% + 1px)) no-repeat !important;
}

variant-picker:not([data-availability=false]):not(.variant-picker--pre-last-selection.variant-picker--product-available) .is-unavailable + .opt-label--swatch:not(.opt-label--image)::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.custom-select__btn[data-swatch]::before,
.custom-select__option[data-swatch]::before {
  border: 1px solid rgb(var(--swatch-border-color-default));
}

.tablist::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 25px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(var(--bg-color)) 50%);
}

.tablist__scroller {
  overflow-x: auto;
  white-space: nowrap;
}

.tablist__tab {
  margin-inline-end: 3rem;
  padding: 1.2rem 0;
  color: rgba(var(--text-color)/0.7);
  white-space: nowrap;
}
.tablist__tab[aria-selected=true] {
  color: rgb(var(--text-color));
  text-decoration: underline;
  text-underline-offset: 0.8rem;
  text-decoration-thickness: 2px;
}

.cc-compare {
  display: none;
}

.theme-metafield-color {
  display: inline-block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
}

.product-label-container {
  z-index: 2;
}
.product-info__block .product-label-container {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.product-label-wrapper:not(:last-child) {
  margin-bottom: 2px;
}
.product-info__block .product-label-wrapper {
  margin-bottom: 3px;
}

.product-label,
.collection-label {
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  font-size: 1.1rem;
  line-height: 1.7rem;
}
.product-info__block .product-label,
.product-info__block .collection-label {
  margin-inline-end: 3px;
}

.badge.collection-label {
  position: absolute;
  z-index: 1;
  top: 8px;
  left: 8px;
  max-width: calc(100% - 16px);
  margin: 0;
  background-color: #fff;
  box-shadow: 1px 2px 4px -1px rgba(128, 128, 137, 0.52);
  color: rgb(var(--collection-label-color));
  white-space: normal;
}

.badge.collection-label::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: 2em;
  background-color: rgba(var(--collection-label-color)/0.1);
}

.badge.collection-label--circle {
  top: 5%;
  right: 5%;
  left: auto;
}

.product-label .icon,
.collection-label .icon {
  position: relative;
  top: -0.5px;
  flex-shrink: 0;
  margin-inline-end: 0.5em;
}

.product-label--custom {
  background-color: rgba(var(--custom-label-bg-color));
  color: rgba(var(--custom-label-text-color));
}

.product-label--sale {
  background-color: rgba(var(--sale-label-bg-color));
  color: rgba(var(--sale-label-text-color));
}

.product-label--sold-out {
  background-color: rgba(var(--sold-out-label-bg-color));
  color: rgba(var(--sold-out-label-text-color));
}

.product-label--new {
  background-color: rgba(var(--new-label-bg-color));
  color: rgba(var(--new-label-text-color));
}

.product-label--preorder {
  background-color: rgba(var(--preorder-label-bg-color));
  color: rgba(var(--preorder-label-text-color));
}

@media (max-width: 599.98px) {
  [data-layout=list] .product-label-container {
    position: relative;
    top: calc(2 * var(--space-unit));
  }
  .product-label .icon {
    width: 12px;
  }
}
@media (min-width: 1024px) {
  .product-label {
    padding: 4px 8px;
    font-size: 1.3rem;
  }
  .xl\:auto-cols-4 .badge.collection-label--circle {
    top: 7%;
    right: 7%;
  }
}
/* stylelint-disable */
/*!
 * OverlayScrollbars
 * Version: 2.5.0
 *
 * Copyright (c) Rene Haas | KingSora.
 * https://github.com/KingSora
 *
 * Released under the MIT license.
 */
.os-size-observer, .os-size-observer-listener {
  box-sizing: border-box;
  direction: inherit;
  overflow: hidden;
  pointer-events: none;
  scroll-behavior: auto !important;
  visibility: hidden;
}

.os-size-observer, .os-size-observer-listener, .os-size-observer-listener-item, .os-size-observer-listener-item-final {
  left: 0;
  position: absolute;
  top: 0;
  writing-mode: horizontal-tb;
}

.os-size-observer {
  border: inherit;
  bottom: 0;
  box-sizing: inherit;
  contain: strict;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  left: 0;
  margin: -133px;
  padding: inherit;
  right: 0;
  top: 0;
  transform: scale(0.1);
  z-index: -1;
}

.os-size-observer:before {
  box-sizing: inherit;
  content: "";
  flex: none;
  height: 10px;
  padding: 10px;
  width: 10px;
}

.os-size-observer-appear {
  animation: os-size-observer-appear-animation 1ms forwards;
}

.os-size-observer-listener {
  border: inherit;
  box-sizing: border-box;
  flex: auto;
  margin: -133px;
  padding: inherit;
  position: relative;
  transform: scale(10);
}

.os-size-observer-listener.ltr {
  margin-left: 0;
  margin-right: -266px;
}

.os-size-observer-listener.rtl {
  margin-left: -266px;
  margin-right: 0;
}

.os-size-observer-listener:empty:before {
  content: "";
  height: 100%;
  width: 100%;
}

.os-size-observer-listener:empty:before, .os-size-observer-listener > .os-size-observer-listener-item {
  border: inherit;
  box-sizing: content-box;
  display: block;
  flex: auto;
  padding: inherit;
  position: relative;
}

.os-size-observer-listener-scroll {
  box-sizing: border-box;
  display: flex;
}

.os-size-observer-listener-item {
  bottom: 0;
  direction: ltr;
  flex: none;
  overflow: hidden;
  right: 0;
}

.os-size-observer-listener-item-final {
  transition: none;
}

@keyframes os-size-observer-appear-animation {
  0% {
    cursor: auto;
  }
  to {
    cursor: none;
  }
}
.os-trinsic-observer {
  border: none;
  box-sizing: border-box;
  contain: strict;
  flex: none;
  height: 0;
  margin: 0;
  max-height: 1px;
  max-width: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  top: calc(100% + 1px);
  z-index: -1;
}

.os-trinsic-observer:not(:empty) {
  height: calc(100% + 1px);
  top: -1px;
}

.os-trinsic-observer:not(:empty) > .os-size-observer {
  height: 1000%;
  min-height: 1px;
  min-width: 1px;
  width: 1000%;
}

.os-environment {
  height: 200px;
  opacity: 0;
  overflow: scroll;
  position: fixed;
  scroll-behavior: auto !important;
  visibility: hidden;
  width: 200px;
  z-index: -1;
}

.os-environment div {
  height: 200%;
  margin: 10px 0;
  width: 200%;
}

.os-environment.os-environment-flexbox-glue {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  height: auto;
  min-height: 200px;
  min-width: 200px;
  width: auto;
}

.os-environment.os-environment-flexbox-glue div {
  flex: auto;
  height: auto;
  margin: 0;
  max-height: 100%;
  max-width: 100%;
  width: auto;
}

.os-environment.os-environment-flexbox-glue-max {
  max-height: 200px;
}

.os-environment.os-environment-flexbox-glue-max div {
  overflow: visible;
}

.os-environment.os-environment-flexbox-glue-max div:before {
  content: "";
  display: block;
  height: 999px;
  width: 999px;
}

.os-environment, [data-overlayscrollbars-viewport] {
  -ms-overflow-style: scrollbar !important;
}

.os-environment-scrollbar-hidden, [data-overlayscrollbars-initialize], [data-overlayscrollbars-viewport~=scrollbarHidden], [data-overlayscrollbars~=scrollbarHidden] {
  scrollbar-width: none !important;
}

.os-environment-scrollbar-hidden::-webkit-scrollbar, .os-environment-scrollbar-hidden::-webkit-scrollbar-corner, [data-overlayscrollbars-initialize]::-webkit-scrollbar, [data-overlayscrollbars-initialize]::-webkit-scrollbar-corner, [data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar, [data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner, [data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar, [data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar-corner {
  appearance: none !important;
  display: none !important;
  height: 0 !important;
  width: 0 !important;
}

[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body) {
  overflow: auto;
}

html[data-overlayscrollbars] {
  box-sizing: border-box;
  margin: 0;
}

html[data-overlayscrollbars~=body], html[data-overlayscrollbars~=body] > body {
  height: 100%;
  width: 100%;
}

html[data-overlayscrollbars~=viewport] > body {
  overflow: visible;
}

[data-overlayscrollbars-padding], [data-overlayscrollbars~=host] {
  align-items: stretch !important;
  display: flex;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
}

[data-overlayscrollbars-padding], [data-overlayscrollbars-viewport] {
  border: none;
  box-sizing: inherit;
  flex: auto !important;
  height: auto;
  margin: 0;
  min-width: 0;
  padding: 0;
  position: relative;
  width: 100%;
  z-index: 0;
}

[data-overlayscrollbars-viewport] {
  --os-vaw:0;
  --os-vah:0;
}

[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]:before {
  content: "";
  height: var(--os-vah);
  min-height: 1px;
  min-width: 1px;
  pointer-events: none;
  position: absolute;
  width: var(--os-vaw);
  z-index: -1;
}

[data-overlayscrollbars-padding], [data-overlayscrollbars-viewport] {
  overflow: hidden;
}

[data-overlayscrollbars~=host], [data-overlayscrollbars~=viewport] {
  overflow: hidden;
  position: relative;
}

[data-overlayscrollbars-padding~=overflowVisible], [data-overlayscrollbars-viewport~=overflowVisible], [data-overlayscrollbars~=overflowVisible] {
  overflow: visible;
}

[data-overlayscrollbars-overflow-x=hidden] {
  overflow-x: hidden;
}

[data-overlayscrollbars-overflow-x=scroll] {
  overflow-x: scroll;
}

[data-overlayscrollbars-overflow-x=hidden] {
  overflow-y: hidden;
}

[data-overlayscrollbars-overflow-y=scroll] {
  overflow-y: scroll;
}

[data-overlayscrollbars~=scrollbarPressed], [data-overlayscrollbars~=scrollbarPressed] [data-overlayscrollbars-viewport] {
  scroll-behavior: auto !important;
}

[data-overlayscrollbars-content] {
  box-sizing: inherit;
}

[data-overlayscrollbars-contents]:not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]) {
  display: contents;
}

[data-overlayscrollbars-grid], [data-overlayscrollbars-grid] [data-overlayscrollbars-padding] {
  display: grid;
  grid-template: 1fr/1fr;
}

[data-overlayscrollbars-grid] > [data-overlayscrollbars-padding], [data-overlayscrollbars-grid] > [data-overlayscrollbars-padding] > [data-overlayscrollbars-viewport], [data-overlayscrollbars-grid] > [data-overlayscrollbars-viewport] {
  height: auto !important;
  width: auto !important;
}

.os-scrollbar {
  contain: size layout;
  contain: size layout style;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 0.15s, visibility 0.15s, top 0.15s, right 0.15s, bottom 0.15s, left 0.15s;
  visibility: hidden;
}

body > .os-scrollbar {
  position: fixed;
  z-index: 99999;
}

.os-scrollbar-transitionless {
  transition: none;
}

.os-scrollbar-track {
  border: none !important;
  direction: ltr !important;
  padding: 0 !important;
  position: relative;
}

.os-scrollbar-handle {
  position: absolute;
}

.os-scrollbar-handle, .os-scrollbar-track {
  height: 100%;
  pointer-events: none;
  width: 100%;
}

.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle, .os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track {
  pointer-events: auto;
  touch-action: none;
}

.os-scrollbar-horizontal {
  bottom: 0;
  left: 0;
}

.os-scrollbar-vertical {
  right: 0;
  top: 0;
}

.os-scrollbar-rtl.os-scrollbar-horizontal {
  right: 0;
}

.os-scrollbar-rtl.os-scrollbar-vertical {
  left: 0;
  right: auto;
}

.os-scrollbar-visible {
  opacity: 1;
  visibility: visible;
}

.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden {
  opacity: 0;
  visibility: hidden;
}

.os-scrollbar-interaction.os-scrollbar-visible {
  opacity: 1;
  visibility: visible;
}

.os-scrollbar-unusable, .os-scrollbar-unusable *, .os-scrollbar-wheel, .os-scrollbar-wheel * {
  pointer-events: none !important;
}

.os-scrollbar-unusable .os-scrollbar-handle {
  opacity: 0 !important;
}

.os-scrollbar-horizontal .os-scrollbar-handle {
  bottom: 0;
}

.os-scrollbar-vertical .os-scrollbar-handle {
  right: 0;
}

.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle {
  left: 0;
  right: auto;
}

.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless, .os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl {
  left: 0;
  right: 0;
}

.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless, .os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl {
  bottom: 0;
  top: 0;
}

.os-scrollbar {
  --os-size:0;
  --os-padding-perpendicular:0;
  --os-padding-axis:0;
  --os-track-border-radius:0;
  --os-track-bg:none;
  --os-track-bg-hover:none;
  --os-track-bg-active:none;
  --os-track-border:none;
  --os-track-border-hover:none;
  --os-track-border-active:none;
  --os-handle-border-radius:0;
  --os-handle-bg:none;
  --os-handle-bg-hover:none;
  --os-handle-bg-active:none;
  --os-handle-border:none;
  --os-handle-border-hover:none;
  --os-handle-border-active:none;
  --os-handle-min-size:33px;
  --os-handle-max-size:none;
  --os-handle-perpendicular-size:100%;
  --os-handle-perpendicular-size-hover:100%;
  --os-handle-perpendicular-size-active:100%;
  --os-handle-interactive-area-offset:0;
}

.os-scrollbar .os-scrollbar-track {
  background: var(--os-track-bg);
  border: var(--os-track-border);
  border-radius: var(--os-track-border-radius);
  transition: opacity 0.15s, background-color 0.15s, border-color 0.15s;
}

.os-scrollbar .os-scrollbar-track:hover {
  background: var(--os-track-bg-hover);
  border: var(--os-track-border-hover);
}

.os-scrollbar .os-scrollbar-track:active {
  background: var(--os-track-bg-active);
  border: var(--os-track-border-active);
}

.os-scrollbar .os-scrollbar-handle {
  background: var(--os-handle-bg);
  border: var(--os-handle-border);
  border-radius: var(--os-handle-border-radius);
}

.os-scrollbar .os-scrollbar-handle:before {
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.os-scrollbar .os-scrollbar-handle:hover {
  background: var(--os-handle-bg-hover);
  border: var(--os-handle-border-hover);
}

.os-scrollbar .os-scrollbar-handle:active {
  background: var(--os-handle-bg-active);
  border: var(--os-handle-border-active);
}

.os-scrollbar-horizontal {
  height: var(--os-size);
  padding: var(--os-padding-perpendicular) var(--os-padding-axis);
  right: var(--os-size);
}

.os-scrollbar-horizontal.os-scrollbar-rtl {
  left: var(--os-size);
  right: 0;
}

.os-scrollbar-horizontal .os-scrollbar-handle {
  height: var(--os-handle-perpendicular-size);
  max-width: var(--os-handle-max-size);
  min-width: var(--os-handle-min-size);
  transition: opacity 0.15s, background-color 0.15s, border-color 0.15s, height 0.15s;
}

.os-scrollbar-horizontal .os-scrollbar-handle:before {
  bottom: calc(var(--os-padding-perpendicular) * -1);
  top: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);
}

.os-scrollbar-horizontal:hover .os-scrollbar-handle {
  height: var(--os-handle-perpendicular-size-hover);
}

.os-scrollbar-horizontal:active .os-scrollbar-handle {
  height: var(--os-handle-perpendicular-size-active);
}

.os-scrollbar-vertical {
  bottom: var(--os-size);
  padding: var(--os-padding-axis) var(--os-padding-perpendicular);
  width: var(--os-size);
}

.os-scrollbar-vertical .os-scrollbar-handle {
  max-height: var(--os-handle-max-size);
  min-height: var(--os-handle-min-size);
  transition: opacity 0.15s, background-color 0.15s, border-color 0.15s, width 0.15s;
  width: var(--os-handle-perpendicular-size);
}

.os-scrollbar-vertical .os-scrollbar-handle:before {
  left: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);
  right: calc(var(--os-padding-perpendicular) * -1);
}

.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before {
  left: calc(var(--os-padding-perpendicular) * -1);
  right: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);
}

.os-scrollbar-vertical:hover .os-scrollbar-handle {
  width: var(--os-handle-perpendicular-size-hover);
}

.os-scrollbar-vertical:active .os-scrollbar-handle {
  width: var(--os-handle-perpendicular-size-active);
}

.os-theme-none.os-scrollbar, [data-overlayscrollbars~=updating] > .os-scrollbar {
  display: none !important;
}

.os-theme-dark, .os-theme-light {
  --os-size:10px;
  --os-padding-perpendicular:2px;
  --os-padding-axis:2px;
  --os-track-border-radius:10px;
  --os-handle-interactive-area-offset:4px;
  --os-handle-border-radius:10px;
  box-sizing: border-box;
}

.os-theme-dark {
  --os-handle-bg:rgba(0,0,0,.44);
  --os-handle-bg-hover:rgba(0,0,0,.55);
  --os-handle-bg-active:rgba(0,0,0,.66);
}

.os-theme-light {
  --os-handle-bg:hsla(0,0%,100%,.44);
  --os-handle-bg-hover:hsla(0,0%,100%,.55);
  --os-handle-bg-active:hsla(0,0%,100%,.66);
}

/* stylelint-enable */
.badge {
  display: inline-flex;
  position: relative;
  top: -2px;
  align-items: center;
  margin: -0.6em 0;
  padding: 0.6em 0.9em;
  border-radius: 2em;
  background: rgb(var(--text-color));
  color: rgba(var(--bg-color));
  font-size: 1rem;
  font-weight: bold;
  line-height: 1rem;
  white-space: nowrap;
}

.cc-header--sticky {
  position: sticky;
  z-index: 30;
  top: -1px;
}

.header {
  display: block;
  position: relative;
  z-index: 30;
  padding: calc(2 * var(--space-unit)) 0;
  border-bottom: 1px solid rgba(var(--text-color)/0.15);
  background-color: rgba(var(--bg-color));
  color: rgb(var(--text-color));
}

.header__logo {
  flex: 1;
}

.logo__h1 {
  line-height: 0;
}

.logo__text {
  font-size: var(--logo_font-size);
}

.header__icons {
  flex: 0 0 auto;
  margin-inline-end: -10px;
}

.header__icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 10px;
  color: inherit;
  text-align: center;
}
.header__icon > .icon {
  width: 100%;
  height: 100%;
}
.header__icon .icon--cart {
  width: 28px;
  height: 28px;
}

.header__icon--cart-shake {
  animation: shake-n-grow 0.9s var(--shake-delay) cubic-bezier(0.455, 0.03, 0.515, 0.955) 2 both;
}
.header__icon--cart-shake .header__cart-count {
  animation: shake 1s calc(var(--shake-delay) + 1.2s) ease-out 1 both;
}

.header__cart-count {
  top: 2px;
  right: 2px;
  min-width: 18px;
  min-height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  background-color: rgb(var(--header-accent-color));
  box-shadow: 0 0 0 2px rgba(var(--bg-color));
  color: rgba(var(--bg-color));
  font-size: 11px;
  font-weight: bold;
  line-height: 18px;
}

.header__search {
  flex: 0 0 100%;
  order: 2;
}

@media (max-width: 1023.98px) {
  .header__search--collapsible-mob predictive-search,
  .header__search--collapsible-mob > .search {
    max-height: 64px;
    overflow: hidden;
    transition: max-height var(--header-transition-speed), margin var(--header-transition-speed);
  }
  .search-is-collapsed .header__search--collapsible-mob predictive-search,
  .search-is-collapsed .header__search--collapsible-mob > .search {
    max-height: 0;
  }
  .search-is-visible .header__search--collapsible-mob predictive-search,
  .search-is-visible .header__search--collapsible-mob > .search {
    max-height: none;
    overflow: visible;
  }
  .header__icon.hidden.md\:block {
    display: none;
  }
}
@media (min-width: 1024px) {
  .header {
    padding: calc(4 * var(--space-unit)) 0 0;
  }
  .header__logo,
  .header__icons {
    flex: 1 1 auto;
    margin-bottom: 16px;
    padding-inline-start: calc(6 * var(--space-unit));
  }
  .header__logo {
    order: 0;
    padding-inline-start: 0;
    padding-inline-end: calc(6 * var(--space-unit));
  }
  .header__search {
    display: block;
    flex: 6 1 auto;
    order: 1;
    margin-top: 0;
  }
  .header__search.header__search--collapsible predictive-search {
    display: block;
  }
  .header__search > .header__icon--search-left {
    padding: 10px;
    transition: transform 0.2s;
    transform: translateX(-37px);
  }
  .header__icon--search-left-search {
    display: none;
  }
  .header__grid .header__icon--search-left-close svg {
    width: 24px;
    height: 24px;
  }
  .search-is-collapsed .header__icon--search-left {
    transform: translateX(-12px);
  }
  .search-is-collapsed .header__icon--search-left-search {
    display: block;
  }
  .search-is-collapsed .header__icon--search-left-close {
    display: none;
  }
  .header__icons {
    order: 2;
  }
  .main-menu {
    order: 3;
  }
  .header__grid--centered-logo .header__search {
    flex: 1 1 33%;
    order: 0;
  }
  .header__grid--centered-logo .header__logo {
    flex: 1 1 34%;
    justify-content: center;
    order: 1;
    padding-inline-start: calc(6 * var(--space-unit));
  }
  .header__grid--centered-logo .header__icons {
    flex: 1 1 33%;
  }
  .cc-header--sticky .main-menu__disclosure {
    max-height: var(--menu-height);
    overflow: hidden;
    transition: max-height var(--header-transition-speed), margin-top var(--header-transition-speed);
  }
  .cc-header--sticky .header {
    margin-bottom: 0;
    transition: margin-bottom var(--header-transition-speed);
  }
  .cc-header--sticky .header.is-out {
    margin-bottom: var(--menu-height);
  }
  .cc-header--sticky .header.is-out .main-menu__disclosure {
    max-height: 0;
    margin-top: 0;
  }
  .cc-header--sticky .header__cart-count-number {
    position: relative;
    top: 0.05em;
  }
  .header__search--collapsible-desktop predictive-search,
  .header__search--collapsible-desktop > .search {
    transition: opacity 0.2s, visibility 0.2s, transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  }
  .search-is-collapsed .header__search--collapsible-desktop predictive-search,
  .search-is-collapsed .header__search--collapsible-desktop > .search {
    visibility: hidden;
    transform: translateX(50px);
    opacity: 0;
  }
}
@media (min-width: 1024px) {
  .header__icon {
    padding: 6px;
  }
  .header__icon svg {
    width: 32px;
    height: 32px;
  }
  .header__icon + .header__icon {
    margin-inline-start: 12px;
  }
}
@media (min-width: 1280px) {
  .header__icon {
    padding: 6px;
  }
  .header__cart-count {
    top: 0;
    right: 0;
  }
}
.last\:mb-0:last-child{
  margin-bottom: 0;
}
.last\:pb-0:last-child{
  padding-bottom: 0;
}
.hover\:underline:hover{
  text-decoration-line: underline;
}
@media (min-width: 600px){
  .sm\:col-span-2{
    grid-column: span 2 / span 2;
  }
  .sm\:col-span-3{
    grid-column: span 3 / span 3;
  }
  .sm\:block{
    display: block;
  }
  .sm\:flex{
    display: flex;
  }
  .sm\:grid{
    display: grid;
  }
  .sm\:w-auto{
    width: auto;
  }
  .sm\:auto-cols-2{
    grid-auto-columns: calc((100% - var(--column-gap)) / 2);
  }
  .sm\:auto-cols-3{
    grid-auto-columns: calc((100% - var(--column-gap) * 2) / 3);
  }
  .sm\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sm\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .sm\:grid-cols-8{
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .sm\:flex-wrap{
    flex-wrap: wrap;
  }
  .sm\:gap-x-theme{
    column-gap: var(--column-gap);
  }
  .sm\:gap-y-8{
    row-gap: calc(8 * var(--space-unit));
  }
  .sm\:text-end{
    text-align: end;
  }
}
@media (min-width: 1024px){
  .md\:col-span-1{
    grid-column: span 1 / span 1;
  }
  .md\:mb-0{
    margin-bottom: 0;
  }
  .md\:mb-12{
    margin-bottom: calc(12 * var(--space-unit));
  }
  .md\:mb-14{
    margin-bottom: calc(14 * var(--space-unit));
  }
  .md\:mb-6{
    margin-bottom: calc(6 * var(--space-unit));
  }
  .md\:mb-8{
    margin-bottom: calc(8 * var(--space-unit));
  }
  .md\:mr-2{
    margin-right: calc(2 * var(--space-unit));
  }
  .md\:mt-14{
    margin-top: calc(14 * var(--space-unit));
  }
  .md\:mt-16{
    margin-top: calc(16 * var(--space-unit));
  }
  .md\:block{
    display: block;
  }
  .md\:inline{
    display: inline;
  }
  .md\:flex{
    display: flex;
  }
  .md\:inline-flex{
    display: inline-flex;
  }
  .md\:grid{
    display: grid;
  }
  .md\:hidden{
    display: none;
  }
  .md\:h-auto{
    height: auto;
  }
  .md\:w-auto{
    width: auto;
  }
  .md\:auto-cols-2{
    grid-auto-columns: calc((100% - var(--column-gap)) / 2);
  }
  .md\:auto-cols-3{
    grid-auto-columns: calc((100% - var(--column-gap) * 2) / 3);
  }
  .md\:auto-cols-4{
    grid-auto-columns: calc((100% - var(--column-gap) * 3) / 4);
  }
  .md\:grid-cols-1{
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .md\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .md\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .md\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .md\:flex-row{
    flex-direction: row;
  }
  .md\:flex-row-reverse{
    flex-direction: row-reverse;
  }
  .md\:flex-wrap{
    flex-wrap: wrap;
  }
  .md\:items-center{
    align-items: center;
  }
  .md\:gap-y-16{
    row-gap: calc(16 * var(--space-unit));
  }
  .md\:gap-y-6{
    row-gap: calc(6 * var(--space-unit));
  }
  .md\:gap-y-8{
    row-gap: calc(8 * var(--space-unit));
  }
  .md\:self-start{
    align-self: flex-start;
  }
  .md\:p-8{
    padding: calc(8 * var(--space-unit));
  }
  .md\:pt-0{
    padding-top: 0;
  }
}
@media (min-width: 1024px){
  .lg\:col-span-1{
    grid-column: span 1 / span 1;
  }
  .lg\:col-span-2{
    grid-column: span 2 / span 2;
  }
  .lg\:col-span-3{
    grid-column: span 3 / span 3;
  }
  .lg\:col-span-4{
    grid-column: span 4 / span 4;
  }
  .lg\:col-start-1{
    grid-column-start: 1;
  }
  .lg\:col-start-2{
    grid-column-start: 2;
  }
  .lg\:row-start-1{
    grid-row-start: 1;
  }
  .lg\:mt-0{
    margin-top: 0;
  }
  .lg\:mt-8{
    margin-top: calc(8 * var(--space-unit));
  }
  .lg\:block{
    display: block;
  }
  .lg\:hidden{
    display: none;
  }
  .lg\:auto-cols-3{
    grid-auto-columns: calc((100% - var(--column-gap) * 2) / 3);
  }
  .lg\:auto-cols-4{
    grid-auto-columns: calc((100% - var(--column-gap) * 3) / 4);
  }
  .lg\:auto-cols-5{
    grid-auto-columns: calc((100% - var(--column-gap) * 4) / 5);
  }
  .lg\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lg\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .lg\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .lg\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .lg\:overflow-hidden{
    overflow: hidden;
  }
}
@media (min-width: 1280px){
  .xl\:col-span-2{
    grid-column: span 2 / span 2;
  }
  .xl\:col-span-3{
    grid-column: span 3 / span 3;
  }
  .xl\:auto-cols-4{
    grid-auto-columns: calc((100% - var(--column-gap) * 3) / 4);
  }
  .xl\:auto-cols-5{
    grid-auto-columns: calc((100% - var(--column-gap) * 4) / 5);
  }
  .xl\:auto-cols-6{
    grid-auto-columns: calc((100% - var(--column-gap) * 5) / 6);
  }
  .xl\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .xl\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .xl\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .xl\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .xl\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .xl\:grid-cols-8{
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}


/* /*

/* Enterprise (Clean Canvas) – slider thumbnails on the LEFT (desktop only) */
@media (min-width: 1240px) {

  /* Only affect the Enterprise product slider gallery */
  #product-media.product-media--slider > media-gallery.media-gallery {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    column-gap: 10px;
    align-items: start;
  }

  /* Main image/viewer goes in the right column */
  #product-media.product-media--slider > media-gallery .media-gallery__viewer {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    
  }


/* Add a vertical border between gallery viewer items */
#gallery-viewer .media-viewer__item {
  border-right: 1px solid #f0f0f0ff !important; /* Adjust color to your preference */
  box-sizing: border-box !important;
}

/* Remove the border from the last item so the gallery ends cleanly */
#gallery-viewer .media-viewer__item:last-child {
  border-right: none !important;
}



  



  /* Thumbnails wrapper (Enterprise uses one of these) goes in the left column */
  #product-media.product-media--slider > media-gallery .media-gallery__thumbnails,
  #product-media.product-media--slider > media-gallery .media-gallery__thumbs,
  #product-media.product-media--slider > media-gallery .media-gallery__nav {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-self: start;
    max-height: 70vh;   /* optional */
    overflow: auto;     /* optional */
  }

  /* Make sure the main slider UL behaves */
  #product-media.product-media--slider > media-gallery ul.media-viewer {
    width: 100%;
  }

  /* Make each thumb fit the column neatly (covers a/btn/img patterns) */
  #product-media.product-media--slider > media-gallery .media-gallery__thumbnails a,
  #product-media.product-media--slider > media-gallery .media-gallery__thumbnails button,
  #product-media.product-media--slider > media-gallery .media-gallery__thumbs a,
  #product-media.product-media--slider > media-gallery .media-gallery__thumbs button,
  #product-media.product-media--slider > media-gallery .media-gallery__nav a,
  #product-media.product-media--slider > media-gallery .media-gallery__nav button {
    width: 100%;
    display: block;
  }

  #product-media.product-media--slider > media-gallery .media-gallery__thumbnails img,
  #product-media.product-media--slider > media-gallery .media-gallery__thumbs img,
  #product-media.product-media--slider > media-gallery .media-gallery__nav img {
    width: 100%;
    height: auto;
    display: block;
  }
}

/* Enterprise – Make LEFT thumbnails scroll vertically */
@media (min-width: 1240px) {

  /* Target the thumbnail track inside the slider */
  #product-media.product-media--slider 
  media-gallery 
  .media-gallery__thumbnails ul,
  
  #product-media.product-media--slider 
  media-gallery 
  .media-gallery__thumbs ul,
  
  #product-media.product-media--slider 
  media-gallery 
  .media-gallery__nav ul {
    
    display: flex !important;
    flex-direction: column !important;
    gap: 10px;
    transform: none !important;   /* kills horizontal slide */
    width: 100% !important;
  }

  /* Each thumbnail item full width */
  #product-media.product-media--slider 
  media-gallery 
  .media-gallery__thumbnails li,
  
  #product-media.product-media--slider 
  media-gallery 
  .media-gallery__thumbs li,
  
  #product-media.product-media--slider 
  media-gallery 
  .media-gallery__nav li {
    width: 100% !important;
  }

  /* Remove horizontal scroll behaviour */
  #product-media.product-media--slider 
  media-gallery 
  .media-gallery__thumbnails,
  
  #product-media.product-media--slider 
  media-gallery 
  .media-gallery__thumbs,
  
  #product-media.product-media--slider 
  media-gallery 
  .media-gallery__nav {
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }
}
/* Create the two-column grid layout */
variant-picker {
  display: grid !important;
  grid-template-columns: 120px 1fr; /* 120px for labels, remaining space for boxes */
  column-gap: 20px;
  row-gap: 15px;
  align-items: center; /* Vertical alignment */
}

/* Force each option to behave as grid contents */
.option-selector {
  display: contents; 
}

/* Style the Labels (Left Column) */
.option-selector .label {
  grid-column: 1;
  margin: 0 !important;
  font-weight: bold;
}

/* Style the Inputs/Dropdowns (Right Column) */
.option-selector custom-select,
.option-selector .fieldset {
  grid-column: 2;
  width: 100%;
}

/* Optional: Ensure dropdown buttons don't over-expand */
.custom-select__btn {
  max-width: 300px;
}

/* Add 5px spacing between the last variant row and the Add to Cart section */
.product-info__add-to-cart {
  margin-top: 20px !important;
}


















@media (min-width: 1024px) {

/* 1. Global Section Spacing */
.shopify-section {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}

/* 2. Product Info Blocks (Title, Price, Options, etc) */
.product-info__block {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* 3. Space between Breadcrumbs and Main Content */
.product-breadcrumbs {
  margin-bottom: 10px !important;
}

/* 4. Inside the Variant Picker Grid (The 2-column layout) */
variant-picker {
  row-gap: 10px !important;
  margin-bottom: 10px !important;
}

/* 5. Space between Variant selection and Add to Cart */
.product-info__add-to-cart {
  margin-top: 10px !important;
}

/* 6. Product Details (The buttons/description section) */
.cc-product-details {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* 7. Remove large gaps in the Grid */
.product.js-product {
  gap: 10px !important;
}

/* 8. Specific fix for horizontal lines (hr tags) */
.product-info hr {
  margin: 10px 0 !important;
}

/* 9. Tighten up the Sticky Info padding we added earlier */
#shopify-section-template--29022901797195__main .product-info.product-info--sticky {
  padding: 0 0 0 10px !important;
}


}






.breadcrumbs {
    margin: 10px 5px 5px 0px;
}



/* 1. Global positioning for Title and Price */
.product-info__block.product-info__title {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  order: 1 !important; /* Ensures it stays at the top of its container */
}

.product-info__block.product-price {
  margin-top: 5px !important; /* The specific 5px gap you requested */
  padding-top: 0 !important;
  order: 2 !important; /* Ensures it stays directly under the title */
}

/* 2. Consistent 10px spacing for everything else globally */
.product-info__block {
  margin-bottom: 10px !important;
}

/* 3. Force alignment on Desktop & Mobile */
.product-info__title h1, 
.product-info__price .price {
  margin: 0 !important;
  display: block;
}

/* 4. Fix for the variant picker grid to sit 10px below the price */
.product-options {
  margin-top: 10px !important;
  order: 3 !important;
}






/* Container adjustments to allow multiple slides */
#gallery-viewer {
  display: flex !important;
  flex-direction: row !important;
  gap: 10px;
}

/* Force each slide to take up half the width */
#gallery-viewer .media-viewer__item {
  flex: 0 0 calc(50% - 5px) !important;
  min-width: calc(50% - 5px) !important;
  max-width: calc(50% - 5px) !important;
}

/* Ensure the slider container allows layout and HIDE SCROLLBAR */
.media-gallery__viewer {
  overflow-x: auto; 
  scroll-snap-type: x mandatory;
  /* Hide scrollbar for Chrome, Safari and Opera */
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none;  /* IE and Edge */
}

.media-gallery__viewer::-webkit-scrollbar {
  display: none; /* Chrome, Safari, and Opera */
}

/* Optional: Adjust mobile behavior */
@media (max-width: 1023px) {
  #gallery-viewer .media-viewer__item {
    flex: 0 0 100% !important;
    min-width: 100% !important;
  }
}





/* Apply the negative margin only to screens wider than 1024px */
@media (min-width: 1024px) {
  .product-info__block.product-info__title {
    margin-top: -20px !important;
  }
}

/* On mobile/tablet, reset the margin to 0 for a clean layout */
@media (max-width: 1023px) {
  .product-info__block.product-info__title {
    margin-top: 0 !important;
  }
}




/* The "Hide on Mobile" rule */
@media (max-width: 1023px) {
  .announcement {
    display: none;
  }
}





@media (max-width: 1023px) {
  /* Hides the thumbnail gallery container on mobile */
  .media-gallery__thumbs {
    display: none !important;
  }

  /* Ensures the main slider takes priority and adjusts spacing if needed */
  .product-media--slider {
    margin-bottom: 0;
  }
}


/* Adds a border to the active tab panel to match the image gallery */
.cc-product-details [role="tabpanel"] {
  border: 1px solid #eeeeee;
  padding: 20px;
  margin-top: -1px; /* Prevents double borders with the tab buttons */
}

/* Optional: Rounds the corners slightly if you prefer that look */
.cc-product-details [role="tabpanel"] {
  border-radius: 0px; 
}








/* 3. Special rule: Hide the box entirely if your app settings 
   don't already hide '0 available' (optional but cleaner) */
#inventory-info-app:empty {
    display: none !important;
}











/* Only apply to Desktop (Large Screens) */
@media screen and (min-width: 1024px) {
  
  /* 1. Target the list items containing "Shop By Brand", "Mens Wetsuits", etc. */
  .mega-nav--sidebar .child-nav > li {
    margin-bottom: 0px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* 2. Tighten the specific headers/links within that sidebar column */
  .mega-nav--sidebar .child-nav__item--toggle,
  .mega-nav--sidebar .child-nav__item,
  .mega-nav--sidebar .main-nav__item-content {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    min-height: 0 !important; /* Overrides the theme's default height */
    line-height: 1.2 !important;
  }

  /* 3. Reduce the gap specifically between the text and the dropdown arrow */
  .mega-nav--sidebar .child-nav__item-content svg {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* 4. Optional: If the whole column feels too wide, tighten the bottom of the container */
  .mega-nav--sidebar .container {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
}







/* 1. Ensure the main container wraps everything tightly */
#inventory-info-app {
    border: 1px solid #d4d5d4 !important; /* Matches your swatch border color */
    padding: 0px !important;
    overflow: hidden;
    margin-top: 5px !important;
}

/* 2. Style the list (the stock info) to remove its own borders */
.iia-list {
    border: none !important;
    margin-bottom: 0 !important;
    border-radius: 0 !important;
    padding: 5px;
}

.iia-list-item {
    padding: 5px !important;
}

.iia-header-container {
  padding-top: 10px;
  padding-left: 10px;
}

/* 3. Force the footer inside the box and give it a 'shelf' look */
.iia-footer {
    display: block !important;
    padding: 8px 12px !important;
    margin-top: 0 !important; /* Removes the gap between list and footer */
    border-top: 1px solid #d4d5d4 !important; /* Separator line inside the box */
    font-size: 11px !important;
    color: #424342 !important;
    text-align: center;
}





/* Style the extra description and action shot as a clean white box with a thin border */
.product-description-extra, 
.product-custom-image {
  background-color: #ffffff;
  /* Uses your theme's variable for the light grey border found on buttons/inputs */
  border: 1px solid #eeeeee !important;
  padding: 24px;
  margin-top: 20px;
  margin-bottom: 20px;
  border-radius: var(--input-border-radius, 0px);
}

/* Remove default margin on the image to keep the box padding uniform */
.product-custom-image {
  margin-top: 0; 
}

.product-custom-image img {
  margin: 0 !important;
}

/* Style the headings inside the white box to look integrated */
.product-description-extra h6 {
  margin-top: 0;
  margin-bottom: 15px;
  font-size: 1.1rem;
  color: rgb(var(--heading-color));
  text-transform: var(--heading-text-transform);
}

/* Mobile Adjustments */
@media screen and (max-width: 1023px) {
  .product-description-extra, 
  .product-custom-image {
    padding: 15px;
    margin-top: 10px;
    margin-bottom: 10px;
  }
}




/* --- Mega Menu Layout Adjustments --- */

/* 1. Desktop Layout: Force 5 Columns */
.main-nav__grandchild-grid {
    display: grid !important;
    /* Enforces exactly 5 equal columns */
    grid-template-columns: repeat(5, 1fr) !important; 
    justify-content: center;
    gap: 15px !important;
}

/* Square Image Styling */
.grandchild-nav__image {
    width: 100%;
    max-width: 200px !important; 
    margin-left: auto;
    margin-right: auto;
    aspect-ratio: 1 / 1 !important; /* Modern way to force a square */
    object-fit: cover; /* Ensures image fills the square without stretching */
}

.grandchild-nav__item {
    text-align: center;
    font-size: 0.9em;
}

/* 2. Mobile Specific: Force 3 Columns (Screens under 768px) */
@media (max-width: 767px) {
  .main-nav__grandchild-grid {
    /* Enforces exactly 3 equal columns */
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important; 
    padding: 10px 0 !important;
  }

  .grandchild-nav__image {
    max-width: 100% !important; 
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
  }

  .grandchild-nav__item {
    font-size: 11px !important;
    line-height: 1.2;
  }
}



/* Target the main navigation and all its children */
.main-nav__item, 
.main-nav__item *,
.header__logo a,
.secondary-nav__item {
    text-decoration: none !important;
    border-bottom: none !important;
    box-shadow: none !important; /* Some themes use box-shadow lines */
}

/* Kill the animated lines (pseudo-elements) */
.main-nav__item::after,
.main-nav__item::before,
.main-nav__item-content::after {
    display: none !important;
    content: none !important;
}

/* Remove hover-specific underlines */
.main-nav__item:hover,
.main-nav__item:hover span {
    text-decoration: none !important;
    border-bottom: none !important;
}


/* 1. Hide on mobile */
@media (max-width: 1023px) {
  .collection-banner__media {
    display: none !important;
  }
}






/* Resize Collection Banner Image */
.collection-banner__media img {
    width: 200px !important;
    height: auto !important;
    margin-left: auto;
    margin-right: auto; /* Centers the image if the container is wider */
    display: block;
}

/* Optional: Adjust the container to fit the smaller image */
.collection-banner__media {
    flex: 0 0 200px !important;
    max-width: 200px !important;
    margin-bottom:10px;
}










/* SNAPPY MENU: Invisible Bridge Fix */
@media (min-width: 1024px) {
  /* 1. Force timing variables to 0 */
  :root, .header, .main-menu {
    --header-transition-speed: 0ms !important;
  }

  /* 2. Strip durations from everything */
  .main-nav__child,
  .mega-nav,
  .disclosure__panel,
  .main-nav__grandchild,
  .child-nav__item,
  .grandchild-nav__item {
    transition: none !important; 
    animation: none !important;
    transform: none !important; 
  }

  /* 3. THE ANTI-FLASH: Create a hit-area "bridge" */
  /* This prevents the menu from closing when moving between items */
  .main-menu li {
    padding-bottom: 5px;
    margin-bottom: -5px;
  }

  /* 4. FORCE VISIBILITY: Show the dropdown AND the first content panel */
  .main-menu li:hover > details > .main-nav__child,
  .main-menu li:hover > details > .mega-nav,
  .main-menu li:hover .child-nav > li:first-child .disclosure__panel {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* 5. FIX OVERLAP: Ensure sub-menus only show when their parent is active */
  .main-menu li:not(:hover) .main-nav__child,
  .main-menu li:not(:hover) .mega-nav {
    display: none !important;
  }

  /* 1. Remove transition delays and force instant hide on mouse leave */
@media (min-width: 1024px) {
  .main-menu .js-mega-nav[open] > .main-nav__child,
  .main-menu .js-mega-nav[open] > .disclosure__panel {
    transition: none !important;
    animation: none !important;
  }

  /* 1. Kill all transitions and animations on the menu containers */
  .main-menu .main-nav__child,
  .main-menu .mega-nav,
  .main-menu .disclosure__panel,
  .main-menu .has-motion {
    transition: none !important;
    animation: none !important;
    transform: none !important;
    transition-duration: 0ms !important;
    transition-delay: 0ms !important;
  }
}

}

/* 1. Make vendor same size as title and bold */
.product-info__block .product-vendor, 
.product-info__block .product-vendor a {
    font-size: var(--h5-font-size, 1.5rem); /* Matches the 'h5' class of your title */
    font-weight: 300 !important;
    color: #2A2B2A; /* Matches your theme text color */
    line-height: 1.2;
    text-decoration: none;
}

/* 2. Set padding above vendor to 5px */
.product-info__block.product-vendor-sku {
    padding-top: 0px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* 3. Improve spacing between vendor and title */
.product-info__block.product-info__title {
    margin-top: 2px !important; /* Adjust this number to get the gap perfect */
    padding-top: 0 !important;
}




/* 3. Collection title */
  h1.collection-banner__heading {
    font-size: 18px !important;
    font-weight: 600;
  }



  /* Position product labels in the bottom-left corner of the image */
.card__media .product-label-container.absolute {
  top: auto !important;     /* Removes the default top alignment */
  bottom: 5px !important;  /* Locks it to the bottom with a clean 5px gap */
  left: 5px !important;    /* Locks it to the left with a clean 5px gap */
  right: auto !important;  /* Prevents any stretching or right alignment conflicts */
}

/* Ensure the label wrapper block flows cleanly from the bottom-left */
.card__media .product-label-wrapper.flex {
  justify-content: flex-start !important;
  align-items: flex-end !important;
}


  @media (min-width: 1024px) {
  /* 1. Global Page Structural Variable Compression */
  :root, 
  body, 
  #main-content,
  .container,
  .main-products-grid,
  custom-pagination {
    --section-gap: 5px !important;
    --grid-column-gap: 5px !important;
    --gutter-lg: 5px !important;
    --gutter-md: 5px !important;
    --gutter-sm: 5px !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

  /* 2. Collection Banner & Text Section Compression */
  .cc-collection-banner,
  .collection-banner {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    margin-top: 0 !important;
    margin-bottom: 5px !important;
    gap: 5px !important;
  }

  .collection-banner__content {
    padding: 5px !important;
    margin: 0 !important;
  }

  .collection-banner__heading {
    margin: 0 !important;
  }

  /* 3. Filter Bar / Toolbar Module Compression */
  #products-toolbar {
    padding: 5px !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    min-height: auto !important;
    border-top-width: 1px;
    border-bottom-width: 1px;
  }

  .products-toolbar__filter-btn,
  #products-sort-by-button {
    padding: 5px 10px !important;
    height: auto !important;
    min-height: unset !important;
  }

  .products-toolbar__layout {
    gap: 5px !important;
  }

  .products-toolbar__layout .tap-target {
    padding: 5px !important;
    height: auto !important;
    width: auto !important;
  }



  /* 5. Product Image Grid & Card Item Compression */
  .main-products-grid__results {
    padding-left: 5px !important;
  }

  .main-products-grid__results .grid {
    gap: 5px !important;
    row-gap: 5px !important;
    column-gap: 5px !important;
    margin-bottom: 5px !important;
  }

  /* Overrides theme hardcoded vertical gap utility row layout */
  .gap-y-16 {
    row-gap: 5px !important;
  }

  /* 6. Product Text Details & Bottom Action Item Compression */
  .card__info-container {
    padding: 5px !important;
    margin: 0 !important;
  }

  .card__info {
    padding-top: 0px;
}

  .card__info-inner {
    padding: 0 !important;
  }

  .card__title, 
  .card__vendor, 
  .price--top,
  .product-inventory__status {
    margin-top: 2px !important;
    margin-bottom: 2px !important;
  }

  .mt-3.border-top {
    margin-top: 10px !important;
    padding-top: 10px !important;
  }

  .card__quick-add {
    margin-top: 4px !important;
    padding: 0 !important;
  }

  /* 7. Bottom Pagination Row Compression */
  .pagination {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
    padding: 5px 0 !important;
  }
}



.card__title {
  display: block !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%; /* Ensures it stays within the card bounds */
  min-height: 1.2em; /* Keeps the grid alignment consistent */
}




/* Disable all interactions with the main link */
.main-nav__item--toggle a {
  pointer-events: none !important;
}

/* Re-target the parent to allow the dropdown to open */
.main-nav__item--toggle {
  pointer-events: all !important;
  cursor: pointer !important;
}






@media (min-width: 1024px) {
  /* Apply light grey highlight on hover, but only on desktop */
  .js-pagination-result .card--product {
    transition: background-color 0.3s ease, border-color 0.3s ease !important;
    border: 1px solid transparent; 
    border-radius: 0px;
  }

  .js-pagination-result .card--product:hover {
    background-color: #f5f5f5 !important; /* Very light grey */
    border-color: #e0e0e0 !important;      /* Subtle border */
  }

  /* Optional: Ensure text remains dark on light grey */
  .js-pagination-result .card--product:hover .card__title a,
  .js-pagination-result .card--product:hover .card__vendor,
  .js-pagination-result .card--product:hover .price__current {
    color: #424342 !important;
  }
}



.main-nav__item--toggle .icon {
    display: none;
}

















/* 1. Hover State: Keep tab grey while hovering the tab OR browsing inside its dropdown */
.js-mega-nav:hover > summary.main-nav__item--toggle,
 {
  background-color: #e0e0e0 !important;
  color: #2A2B2A !important; 
}

/* 2. Reset State: Transparent/White only when the mouse leaves the entire menu section */
.js-mega-nav:not(:hover) > summary.main-nav__item--toggle, {
  color: #ffffff !important;
}



/* 3. Smooth transition for the menu content */
.main-nav__child {
  transition: all 0.2s ease-in-out;
}

/* Remove padding from the Essential Upsell container */
[data-essential-upsell-element="container"] {
    --paddingTop: 0px !important;
    --paddingBottom: 0px !important;
}



#shopify-section-template--29022901797195__recommendations > product-recommendations > div {
  margin-top: 40px;
}

}

[data-essential-upsell-element="header"] {
  padding-inline: 0 !important;
}


/* Target only the product cards to remove horizontal padding */
[data-essential-upsell-element="product"],
 {
  padding-inline: 0 !important;
}

/* Also ensure the products grid itself has no horizontal gaps */
[data-essential-upsell-element="products"] {
  padding-inline: 0 !important;
}


.product-main .product-media, .product-main+.product-details>.container {
        border-inline-end: 0;
    }



/* Constrain Header and Footer to 2000px */
@media (min-width: 1024px) {
.cc-header .container,
.cc-footer .container {
    max-width: 1300px !important;
    padding-left: var(--gutter-lg, 40px);
    padding-right: var(--gutter-lg, 40px);
    margin: 0 auto;
}
}







/* Update the main search input border-radius to 5px */
#header-search.search__input {
  border-radius: 50px !important;
}

/* Update all standard and app-injected theme buttons to 5px corner radius */
.btn, 
.btn--primary,
.custom-select__btn,
.qty-input,
.minimal-col,
.share-icon-only {
  border-radius: 5px !important;
}




@media (min-width: 1024px) {
.main-menu__content.has-motion.justify-between {
text-align: center;
justify-content: center;
}
}




.cc-promo-strip .section {
  background-color: #3f787b !important;
  color: #ffffff !important; /* Forces text to white for readability against the teal background */
}



@media (min-width: 1024px) {
  /* 1. Shrink the search box, center it, and make it the anchor */
  .header__search predictive-search {
    max-width: 500px !important; /* Adjust this value to shrink/grow the search bar */
    margin: 0 auto; /* Centers the smaller search bar in the header */
    position: relative !important; 
  }

  /* 2. Make the dropdown massive and center it directly under the search bar */
  .header__search .js-search-results {
    position: absolute !important;
    width: 1000px !important; 
    max-width: 95vw !important; /* Safety net for smaller screens */
    top: calc(100% + 20px) !important; /* Pushes it down cleanly */
    left: 50% !important;
    right: auto !important; 
    margin: 0 !important;
    transform: translateX(-50%) !important; /* Pulls it dead-center */
    z-index: 99999 !important; /* Forces it over all other elements */
  }

  /* 3. The invisible bridge so the dropdown doesn't vanish when your mouse crosses the gap */
  .header__search .js-search-results::before {
    content: '';
    position: absolute;
    top: -20px;
    left: 0;
    width: 100%;
    height: 20px;
    background: transparent;
  }
}






.cc-promo-strip {
    position: relative; 
    z-index: 20 !important; 
}



.variant-picker--product-available {
display: block !important;
}

.variant-picker--product-unavailable {
display: block !important;
}



/* Force exact 5px top and bottom margins for variant labels */
.variant-picker--product-available .option-selector .label {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}


/* Force exact 5px top and bottom margins for variant labels */
.variant-picker--product-unavailable .option-selector .label {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}















@media (min-width: 1024px) {
    .main-menu li {
        margin-right: 20px;
        margin-left: 20px;
    }
}












/* 2. The Accordion Container (Forces it to push content down) */
custom-select .custom-select__listbox {
  position: relative !important; /* This is the magic line that makes it an accordion */
  top: auto !important;
  width: 100%;
  box-shadow: none !important; /* Remove float shadow */
  
  
  /* The Shrink/Close State */
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  overflow-y: hidden;
  transition: max-height 0.8s ease-in-out, opacity 0.8s ease-in-out, visibility 0.8s ease-in-out;
}

/* 4. The Grow/Open State */
custom-select .custom-select__listbox:not([hidden]) {
  max-height: 400px; /* Expands to push content down. Increase if you have lots of sizes */
  opacity: 1;
  visibility: visible;
  overflow-y: auto; 
}











/* 1. Base Button & Typography */
.custom-select__btn,
.custom-select__option {
  transition: all 0ms !important; 
}

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

/* 2. The FUSION Trick: Hide bottom border when open */
.custom-select__btn[aria-expanded="true"] {
  border-bottom-color: transparent !important; 
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

/* 3. The Accordion Container */
custom-select .custom-select__listbox {
  position: relative !important; /* Forces accordion push-down effect */
  top: auto !important;
  box-shadow: none !important; 
  
 border-bottom-left-radius: 5px;
 border-bottom-right-radius: 5px;
  margin-top: 0 !important; 
  margin-left: 5px;
  padding: 0 !important;
  background-color: #fff;
  
  /* Instant appearance */
  transition: 0.9ms !important;
}

/* Ensure theme's native hidden attribute triggers the instant toggle */
custom-select .custom-select__listbox[hidden] {
  display: none !important;
}
custom-select .custom-select__listbox:not([hidden]) {
  display: block !important;
}

/* 4. Option Hover & Selected States */
.custom-select__option {
  padding: 12px 16px;
  cursor: pointer;
  background-color: #fff;
}



.media-gallery deferred-media .media-poster {
    z-index: auto;
}



.product-details__block {
    margin-right: 5px !important;
}


/* Hide all thumbnail items after the 3rd one */
.media-thumbs__item:nth-child(n+4) {
  display: none !important;
}



/* 1. Target the main upsell product cards */
[data-essential-upsell-element="product"] {
  border-radius: 5px !important;
  /* Ensure the background stays inside the rounded corners */
  overflow: hidden !important; 
}

/* 2. Target the internal containers if they have their own borders or backgrounds */
[data-essential-upsell-element="content-container"] {
  border-radius: 5px !important;
}

/* 3. Style the Title/Variant container if you want the dropdowns to match */
[data-essential-upsell-element="container"] {
  border-radius: 5px !important;
}

/* 4. If there are buttons or images that need rounding, target them here */
[data-essential-upsell-element="image-container"] img {
  border-radius: 5px 5px 0 0 !important; /* Rounds the top of the image */
}



@media (min-width: 1024px) {
    .product-info__sticky {
        margin-top: -20px;
        margin-bottom: 40px;
    }

  }

    




/* Ensure the search input background is white with dark text */
input[type="search"], 
.search-bar__input,
.predictive-search__input {
  background-color: #ffffff !important;
  color: #2a2b2a !important;
}

/* Target the Search and Voice/Microphone button icons specifically */
button[class*="search"] svg,
button[class*="voice"] svg,
button[class*="mic"] svg,
.search-bar__submit svg,
.voice-search__button svg,
input[type="search"] ~ button svg {
  fill: #2a2b2a !important;
  stroke: #2a2b2a !important;
  color: #2a2b2a !important;
}

/* Ensure placeholder text is distinct on the white background */
input[type="search"]::placeholder {
  color: #777777 !important;
  opacity: 1;
}

/* Specifically target icons inside search and header containers to prevent gaps */
.search-bar svg,
form[action*="/search"] svg,
.predictive-search svg {
  color: #2a2b2a !important;
  fill: #2a2b2a !important;
}



.predictive-search.absolute.bg-theme-bg.text-theme-text.text-start {
padding: 0px;
}



/* Make the mega navigation container background white */
.main-nav__child.mega-nav,
.mega-nav--sidebar,
.mega-nav--sidebar .container,
.mega-nav--sidebar .child-nav,
.mega-nav--sidebar .disclosure__panel {
  background-color: #ffffff !important;
}

/* Ensure header, back buttons, and navigation toggle titles are dark slate */
.mega-nav--sidebar :is(.main-nav__item, .child-nav__item, .grandchild-nav__item, .js-back) {
  color: #2a2b2a !important;
}

/* Fix any child navigation lists or grid text formatting */
.mega-nav--sidebar ul,
.mega-nav--sidebar li,
.mega-nav--sidebar a {
  color: #2a2b2a !important;
}

/* Fix colors on icons inside the mega menu layout */
.mega-nav--sidebar svg.icon,
.mega-nav--sidebar svg.icon * {
  fill: none !important;
  stroke: #2a2b2a !important;
}

/* Exception for the solid back arrow icon if it needs a filled path shape */
.mega-nav--sidebar .js-back svg.icon path {
  fill: #2a2b2a !important;
}



/* Direct color overrides for header icon SVG shapes */
.header__icons .header__icon,
.header__icons .header__icon svg,
.header__icons .header__icon svg path {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* Ensure outline strokes on cart or other path borders are white too */
.header__icons .header__icon svg [stroke] {
  stroke: #ffffff !important;
}










/* Force absolute dropdown container to pure white */
.predictive-search,
.predictive-search__scroller,
.predictive-search__results,
.predictive-search__suggestions,
tabbed-content,
.tablist,
.predictive-search__tabpanel {
  background-color: #ffffff !important;
  background: #ffffff !important;
}

/* Ensure headings and structured query lists use high-contrast text */
.predictive-search h3,
.predictive-result__title,
.predictive-result__vendor,
.predictive-search__item,
.predictive-search__item a,
.predictive-search__view-all {
  color: #2a2b2a !important;
}

/* Target fallback span descriptions and price structures */
.predictive-search span,
.predictive-search .js-value,
.predictive-search .price__current,
.predictive-search .price__from {
  color: #2a2b2a !important;
}

/* Override the theme selection tabs row explicitly */
.tablist__scroller button,
button#header-search-products-tab,
button#header-search-collections-tab {
  color: #2a2b2a !important;
  background-color: #ffffff !important;
}

/* Fix text highlighting tags (like <mark>) inside suggestions */
.predictive-search mark {
  background-color: #f0f0f0 !important;
  color: #2a2b2a !important;
}


.tablist::after {
    background: #FFFFFF;
}



.predictive-search mark {
  background-color: transparent !important;
  color: #2a2b2a !important;
}



/* Highlight text suggestions and view-all button on hover */
.predictive-search__item a.predictive-result:hover,
.predictive-search__item button.predictive-search__view-all:hover {
  background-color: #f0f0f0 !important;
  transition: background-color 0.15s ease;
}

/* Ensure the text contrast stays razor-sharp over the gray background */
.predictive-search__item a.predictive-result:hover *,
.predictive-search__item button.predictive-search__view-all:hover * {
  color: #2a2b2a !important;
}

/* Make sure the text elements are padded nicely so the gray box doesn't hug the text tightly */
.predictive-search__item a.predictive-result,
.predictive-search__item button.predictive-search__view-all {
  padding-left: 8px !important;
  padding-right: 8px !important;
}



/* Bold the vendor name in search dropdown results */
.predictive-search .predictive-result__vendor {
  font-weight: 700 !important;
}



@media (min-width: 1024px) {
    .product-main:has(.product-breadcrumbs) .product-media, .product-main:has(.product-breadcrumbs) .product-info
Specificity: (0,3,0)
 {
        padding-right: 10px;
    }
}










@media (min-width: 1024px) {
  /* Top menu normal state */
  .main-nav > li > details > summary.main-nav__item--toggle {
    margin: 0 3px !important;
    padding: 0 12px !important;
    background-color: transparent !important;
    background-image: none !important;
    border-radius: 3px !important;
  }

  .main-nav > li > details > summary.main-nav__item--toggle
    > .main-nav__item--primary {
    margin: 0 !important;
    padding: 10px 0 !important;
    color: #ffffff !important;
    background: transparent !important;
  }

  /* White only while directly hovering the top tab */
  .main-nav > li > details > summary.main-nav__item--toggle:hover {
    background-color: #ffffff !important;
  }

  .main-nav > li > details > summary.main-nav__item--toggle:hover
    > .main-nav__item--primary {
    color: #2a2b2a !important;
  }

  /* Mens Wetsuits, Womens Wetsuits, etc. */
  .mega-nav--sidebar
    .child-nav
    > li
    > nav-menu
    > details
    > summary.child-nav__item--toggle {
    width: 270px !important;
    padding: 8px 10px !important;
    background-color: transparent !important;
    background-image: none !important;
    border-radius: 3px !important;
  }

  .mega-nav--sidebar
    .child-nav
    > li
    > nav-menu
    > details
    > summary.child-nav__item--toggle:hover {
    color: #2a2b2a !important;
    background-color: #eeeeee !important;
  }

  /* Links inside each secondary section */
  .mega-nav--sidebar
    .main-nav__grandchild
    > li
    > a.grandchild-nav__item {
    display: block !important;
    width: 100% !important;
    padding: 8px 10px !important;
    background-color: transparent !important;
    border-radius: 3px !important;
  }

  .mega-nav--sidebar
    .main-nav__grandchild
    > li
    > a.grandchild-nav__item:hover {
    color: #2a2b2a !important;
    background-color: #eeeeee !important;
  }
}








@media (min-width: 1024px) {

  .main-menu__content.has-motion.justify-between {
margin-top: -5px ;
margin-bottom: -5px;
  }
}


/* Align Add extras and carousel arrows */
essential-upsell-product-addon-app-block
  [data-essential-upsell-element="header"] {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

essential-upsell-product-addon-app-block
  [data-essential-upsell-element="title"] {
  display: block !important;
  flex: 1 1 auto !important;
  width: auto !important;
  margin: 10px 0 !important;
  padding: 0 !important;
  color: rgb(42, 43, 42) !important;
  font-family: Roboto, sans-serif !important;
  font-size: 13.2px !important;
  font-weight: 600 !important;
  line-height: 19.8px !important;
  text-align: left !important;
  text-transform: none !important;
}

essential-upsell-product-addon-app-block
  [data-essential-upsell-element="header"] button {
  align-self: center !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}




@media (min-width: 1024px) {
  .product-main {
    overflow-x: clip !important;
  }

  .product-main .product-info.product-info {
    position: relative !important;
    isolation: isolate;
    background-color: #f3f3f3 !important;
  }

  /* Extend grey upwards and to the right edge */
  .product-main .product-info.product-info::before {
    content: "" !important;
    position: absolute !important;
    z-index: -1 !important;
    top: -70px !important;
    right: -100vw !important;
    bottom: -1px !important;
    left: 0 !important;
    width: auto !important;
    height: auto !important;
    background: #f3f3f3 !important;
    border: 0 !important;
    pointer-events: none !important;
  }

  /* Main Size and Colour dropdowns */
  .product-info .custom-select__btn,
  .product-info .custom-select__listbox,
  .product-info select,
  .product-info input {
    background-color: #ffffff !important;
  }

  /* Custom add-on dropdown */
  .product-info .clean-addon-select__button,
  .product-info .clean-addon-select__list,
  .product-info .clean-addon-select__option {
    background-color: #ffffff !important;
  }

  /* Add-on product cards */
  .product-info
    [data-essential-upsell-element="product"],
  .product-info
    [data-essential-upsell-element="variant-select"]
    > [data-essential-upsell-element="container"] {
    background-color: #ffffff !important;
  }

  /* Quantity box */
  .product-info .qty-input,
  .product-info .qty-input__input,
  .product-info .qty-input__btn {
    background-color: #ffffff !important;
  }

/* Make the remaining product-information boxes white */
.product-info #atc-share-button,
.product-info .share-icon-only,
.product-info #inventory-info-app,
.product-info .iia-container,
.product-info #dispatch-timer,
.product-info .dispatch-timer-wrapper,
.product-info .minimal-contact-container .minimal-col {
  background-color: #ffffff !important;
}

/* Keep contact boxes white when hovered */
.product-info .minimal-contact-container .minimal-col:hover {
  background-color: #ffffff !important;
  border-color: #2a2b2a !important;
}

}








/* Keep cart/checkout drawer above every widget */
cart-drawer,
#cart-drawer,
.cart-drawer,
.cart-drawer__overlay,
.cart-drawer__content,
.drawer--cart,
.drawer__overlay {
  z-index: 2147483647 !important;
}

/* Keep Shopify chat underneath the cart drawer */
#ShopifyChat,
iframe#ShopifyChat,
iframe[src*="shopify-chat"],
iframe[src*="inbox"],
[data-shopify-chat] {
  z-index: 2147483000 !important;
}







/* Dark overlay behind the search */
body.overlay-predictive-search .js-search-overlay {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: rgba(0, 0, 0, 0.7) !important;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(1px);
  z-index: 1000 !important;
}

/* Keep the search input above the overlay */
body.overlay-predictive-search predictive-search,
body.overlay-predictive-search .search__form {
  position: relative !important;
  z-index: 1002 !important;
}

/* Keep the dropdown above the overlay */
body.overlay-predictive-search
  .js-search-results
  > .predictive-search {
  position: relative !important;
  z-index: 1003 !important;
}




/* Make all navigation menu titles 600 bold */
.main-nav__item--primary,
.main-nav__item--toggle,
.child-nav__item,
.child-nav__item--toggle,
.grandchild-nav__item,
.main-nav__grandchild a,
.mega-nav a,
.mega-nav summary {
  font-weight: 600 !important;
}


@media (min-width: 1024px) {
  .product-main .product-info__sticky {
    top: calc(var(--header-end, 72px) + 12px) !important;
    transition: top 0.25s ease !important;
  }
}









/* Make every reduced sale price red */
.price.price--on-sale .price__current,
.price.price--on-sale .price__current .js-value {
  color: #c23a3a !important;
}

/* Keep the original crossed-out price neutral */
.price.price--on-sale .price__was,
.price.price--on-sale .price__was .js-value {
  color: inherit !important;
}

/* Make discounted add-on prices the same red */
essential-upsell-product-addon-app-block
  [data-discounted-price-value] {
  color: #c23a3a !important;
}



/* Restore the tick inside Add extras checkboxes */
essential-upsell-product-addon-app-block
  input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border: 2px solid #b4b4b4 !important;
  border-radius: 3px !important;
}

essential-upsell-product-addon-app-block
  input[type="checkbox"]:checked {
  background-color: #898989 !important;
  border-color: #898989 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5 6.5 12 13 4.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 13px 13px !important;
}


.alert.mb-8.bg-error-bg.text-error-text.js-form-error.text-start {
margin: 0px;
}

@media (max-width: 1024px) {
#dispatch-timer {
margin: 5px 0px 0px !important ;
}
}


/* Thinner mobile menu text boxes */
@media (max-width: 767px) {
  .main-menu__content a.main-nav__item,
  .main-menu__content button.main-nav__item {
    min-height: 3 !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    line-height: 1.5 !important;
  }

  .main-menu__content .main-nav__item--toggle {
    min-height: 3 !important;
  }
}



.modal {
  position: fixed !important;
  z-index: 2147483647 !important;
}


#search-bar .js-search-results:empty {
  display: none !important;
}






/* ==================================================
   COMPLETE RESPONSIVE LAYOUT FIX
   Phones, iPads, tablets, laptops and desktop
   ================================================== */


/* --------------------------------------------------
   PREVENT GENERAL HORIZONTAL OVERFLOW
   -------------------------------------------------- */

html,
body {
  max-width: 100%;
  overflow-x: clip;
}


/* --------------------------------------------------
   TABLETS AND SMALL LAPTOPS
   768px to 1279px
   -------------------------------------------------- */

@media screen and (min-width: 1024px) and (max-width: 1279px) {

  /* Keep header icons inside the screen */
  .header__icons {
    margin-inline-end: 0 !important;
  }

  /* Keep navigation inside the screen */
  .main-menu__content .main-nav {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    justify-content: center !important;
  }

  /* Keep footer inside the screen */
  .footer__main {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* --------------------------------------------------
   SMALL LAPTOP AND LANDSCAPE TABLET NAVIGATION
   -------------------------------------------------- */

@media screen and (min-width: 1101px) and (max-width: 1279px) {

  /* Prevent navigation wrapping onto two lines */
  .main-menu__content .main-nav > li {
    margin-left: 8px !important;
    margin-right: 8px !important;
  }
}


/* ==================================================
   ALL IPADS
   Includes iPad Pro M4 11-inch and 13-inch
   Portrait and landscape
   ================================================== */

@supports (-webkit-touch-callout: none) {
  @media screen and (min-width: 1024px) and (max-width: 1400px) {

    /*
     * Align fixed search results with the inside
     * edge of the main page container.
     */
    html {
      --twc-ipad-edge: max(
        20px,
        calc((100vw - 1300px) / 2 + 20px)
      );
    }


    /* ----------------------------------------------
       WHOLE-PAGE SIDE SPACING
       ---------------------------------------------- */

    #main-content .container {
      width: 100% !important;
      max-width: 1300px !important;
      padding-left: 20px !important;
      padding-right: 20px !important;
      box-sizing: border-box !important;
    }

    footer .container,
    .cc-footer .container {
      width: 100% !important;
      max-width: 1300px !important;
      padding-left: 20px !important;
      padding-right: 20px !important;
      box-sizing: border-box !important;
    }


    /* ----------------------------------------------
       HEADER SIDE SPACING
       ---------------------------------------------- */

    .header__grid {
      width: 100% !important;
      max-width: 1300px !important;
      padding-left: 20px !important;
      padding-right: 20px !important;
      box-sizing: border-box !important;
    }

    .header__logo {
      margin-left: 0 !important;
      padding-left: 0 !important;
    }

    .header__icons {
      margin-left: 0 !important;
      margin-right: 0 !important;
      padding-right: 0 !important;
    }


    /* ----------------------------------------------
       NAVIGATION CONTAINMENT
       ---------------------------------------------- */

    .main-menu__content {
      width: 100% !important;
      max-width: 1300px !important;
      padding-left: 20px !important;
      padding-right: 20px !important;
      box-sizing: border-box !important;
    }

    .main-menu__content .main-nav {
      width: 100% !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      justify-content: center !important;
    }


    /* ----------------------------------------------
       SEARCH DROPDOWN SCREEN CONTAINMENT
       ---------------------------------------------- */

    #search-bar .js-search-results {
      position: fixed !important;
      top: 76px !important;

      left: var(--twc-ipad-edge) !important;
      right: var(--twc-ipad-edge) !important;
      bottom: auto !important;

      width: auto !important;
      max-width: none !important;
      margin: 0 !important;
      transform: none !important;

      box-sizing: border-box !important;
      overflow-x: hidden !important;
      z-index: 99999 !important;
    }

    /* Remove the theme's extra 12px on each side */
    #search-bar .js-search-results > .predictive-search {
      position: relative !important;

      top: 0 !important;
      left: 0 !important;
      right: 0 !important;
      bottom: auto !important;

      width: 100% !important;
      max-width: 100% !important;
      margin: 0 !important;
      transform: none !important;

      box-sizing: border-box !important;
      overflow-x: hidden !important;
    }

    /* Keep all search content inside the panel */
    #search-bar .predictive-search__scroller,
    #search-bar .predictive-search__results,
    #search-bar .predictive-search__tabpanel,
    #search-bar .predictive-search__list,
    #search-bar .predictive-search__item,
    #search-bar .predictive-result {
      width: 100% !important;
      max-width: 100% !important;
      box-sizing: border-box !important;
    }

    #search-bar .predictive-search__scroller {
      overflow-x: hidden !important;
      max-height: calc(100vh - 76px) !important;
      max-height: calc(100dvh - 76px) !important;
    }

    /* Do not show search suggestions */
    #search-bar .predictive-search__suggestions {
      display: none !important;
    }


    /* ----------------------------------------------
       PRODUCT CONTACT BUTTONS
       ---------------------------------------------- */

    .minimal-contact-container {
      display: flex !important;
      flex-wrap: wrap !important;
      width: 100% !important;
      max-width: 100% !important;
    }

    .minimal-contact-container .minimal-col {
      flex: 1 1 calc(50% - 5px) !important;
      min-width: 0 !important;
      max-width: 100% !important;
      box-sizing: border-box !important;
    }


}


/* ==================================================
   IPAD PORTRAIT
   Compact navigation for narrower widths
   ================================================== */

@supports (-webkit-touch-callout: none) {
  @media screen and (min-width: 1024px) and (max-width: 1100px) {

    .header__icons {
      padding-left: 16px !important;
    }

    .main-menu__content .main-nav > li {
      margin-left: 0 !important;
      margin-right: 0 !important;
    }

    .main-menu__content .main-nav > li .js-toggle,
    .main-menu__content .main-nav > li > a {
      padding-left: 9px !important;
      padding-right: 9px !important;
    }
  }
}


/* ==================================================
   PHONE SIZES
   Preserve the existing mobile layout
   ================================================== */

@media screen and (max-width: 1024px) {

  #search-bar .js-search-results,
  #search-bar .predictive-search {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  #search-bar .predictive-search__suggestions {
    display: none !important;
  }
}


/* ==================================================
   LARGE DESKTOP
   Preserve normal desktop behaviour
   ================================================== */

@media screen and (min-width: 1401px) {

  .header__grid,
  #main-content .container,
  footer .container,
  .cc-footer .container {
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto;
  }
}



/* Match product description width to the rest of the page on mobile/tablet */
@media (max-width: 1023px) {
  .product-details > .container.reading-width {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }
}


/* Make tablet hamburger menu match the phone menu */
@media (max-width: 1023px) {
  .main-menu__content {
    display: block !important;
  }

  .main-menu__content > .main-nav {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }

  .main-menu__content > .main-nav > li,
  .main-menu__content > .main-nav > li > a,
  .main-menu__content > .main-nav > li > details,
  .main-menu__content > .main-nav > li > details > summary,
  .main-menu__content .main-nav__item {
    width: 100% !important;
    max-width: none !important;
  }

  .main-menu__content a.main-nav__item,
  .main-menu__content button.main-nav__item {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    line-height: 1.5 !important;
  }
}


/* Use two product columns on collection pages below desktop */
@media (max-width: 1023px) {
  .cc-collection-products #filter-results > ul.grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1023px) {
.product-main .product-media
 {
    margin-top: 10px !important;
}
}

}




#sections--29022901928267__promo_strip_CntqT7 > div.container.text-center.flex-wrap.flex-auto.items-center.justify-center.gap-x-theme.promo-strip__container > div.section__block.rte.promo-strip__rte > p > a {
color: #ffffff;
}


/* Sticky header above the scrolling announcement bar */
.shopify-section-group-header-group.cc-header {
  position: sticky !important;
  top: -1px !important;
  z-index: 30 !important;
}

/* Announcement bar scrolls underneath the header */
.shopify-section-group-header-group.cc-announcement {
  position: relative !important;
  z-index: 1 !important;
}



/* ========================================
   Centred vertical announcement slider
   ======================================== */

.announcement__slider {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 32px !important;
  overflow: hidden !important;
  text-align: center !important;
  scroll-behavior: auto !important;
}

.announcement__slider .announcement__text {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  width: 100% !important;
  height: 32px !important;
  box-sizing: border-box;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 15px !important;
  text-align: center !important;
  white-space: nowrap;

  /*
   * Do not add !important to these two properties.
   * The animation needs to override them.
   */
  opacity: 0;
  transform: translateY(100%);

  animation-name: twc-announcement-vertical !important;
  animation-duration: 12s !important;
  animation-timing-function: ease-in-out !important;
  animation-iteration-count: infinite !important;
  animation-fill-mode: both !important;
}

.announcement__slider .announcement__text:nth-child(1) {
  animation-delay: 0s !important;
}

.announcement__slider .announcement__text:nth-child(2) {
  animation-delay: 4s !important;
}

.announcement__slider .announcement__text:nth-child(3) {
  animation-delay: 8s !important;
}

@keyframes twc-announcement-vertical {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }

  5%,
  28% {
    opacity: 1;
    transform: translateY(0);
  }

  33%,
  100% {
    opacity: 0;
    transform: translateY(-100%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .announcement__slider .announcement__text {
    animation: none !important;
    opacity: 0;
    transform: none;
  }

  .announcement__slider .announcement__text:first-child {
    opacity: 1;
  }
}


/* ========================================
   Search-style backdrop for open mega menu
   ======================================== */

@media (min-width: 1024px) {
  body:has(.main-nav > li > details.is-open)
    .js-search-overlay {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    /*
     * Start beneath the header, rather than covering
     * and blurring the entire screen.
     */
    position: fixed !important;
    top: var(--header-height) !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    /* Exact same effect used by the search */
    background: rgba(0, 0, 0, 0.7) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    backdrop-filter: blur(5px) !important;

    z-index: 29 !important;
  }

  /* Keep the dropdown above the blurred backdrop */
  body:has(.main-nav > li > details.is-open)
    .main-nav__child,
  body:has(.main-nav > li > details.is-open)
    .mega-nav {
    z-index: 30 !important;
  }
}


/* Correctly centred desktop mega-menu */
@media (min-width: 1024px) {
  .main-nav__child.mega-nav {
    --twc-mega-menu-width: min(1100px, calc(100vw - 40px));

    width: var(--twc-mega-menu-width) !important;
    max-width: calc(100vw - 40px) !important;

    left: calc(
      (100vw - var(--twc-mega-menu-width)) / 2
    ) !important;

    right: auto !important;
    margin: 0 !important;
    transform: none !important;
    box-sizing: border-box;
  }

  .main-nav__child.mega-nav > .container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box;
  }
}



/* ========================================
   Brands: show icon grid immediately
   ======================================== */

@media (min-width: 1024px) {
  /* Target the first top-level menu item: Brands */
  .main-nav > li:first-child
    .mega-nav--sidebar
    nav-menu > details > summary {
    display: none !important;
  }

  /* Remove the second-level sidebar layout */
  .main-nav > li:first-child
    .mega-nav--sidebar
    .child-nav {
    display: block !important;
    min-height: 0 !important;
  }

  .main-nav > li:first-child
    .mega-nav--sidebar
    .child-nav > li:has(nav-menu) {
    display: block !important;
    width: 100% !important;
  }

  .main-nav > li:first-child
    .mega-nav--sidebar
    nav-menu,
  .main-nav > li:first-child
    .mega-nav--sidebar
    nav-menu > details {
    display: block !important;
    width: 100% !important;
  }

  /* Show the final brand-icon panel immediately */
  .main-nav > li:first-child
    .mega-nav--sidebar
    nav-menu > details > .disclosure__panel {
    display: block !important;
    visibility: visible !important;
    position: static !important;

    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;

    padding: 0 !important;
    opacity: 1 !important;
    transform: none !important;
  }

  /* Let the icon grid use the dropdown’s full content width */
  .main-nav > li:first-child
    .mega-nav--sidebar
    .main-nav__grandchild-grid {
    width: 100% !important;
    padding: 0 !important;
  }
}



@media (min-width: 1024px) {
  .main-nav > li:first-child
  .mega-nav--sidebar
  .child-nav > li:has(nav-menu) {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (min-width: 1024px) {
  .main-nav > li:first-child
  .mega-nav--sidebar
  .main-nav__grandchild-grid {
    width: 70% !important;
    max-width: 768px !important;
    margin-inline: auto !important;
  }
}




@media (min-width: 1024px) {
  html body .cc-header
  main-menu.main-menu {
    height: 28px !important;
    min-height: 28px !important;
  }

  html body .cc-header
  main-menu.main-menu
  > details.main-menu__disclosure {
    height: 28px !important;
    min-height: 28px !important;
  }
}




@media (min-width: 1024px) {
    .header__logo, .header__icons {
        margin-bottom: 0;
    }
  }





  @media (max-width: 1023px) {
  /* Top-level rows: Brands, Water Wear, Kite, etc. */
  html body .main-menu
  .main-nav > li > details > summary {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 12px !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
  }

  html body .main-menu
  .main-nav > li > details > summary::after {
    content: "" !important;
    display: block !important;
    width: 9px !important;
    height: 9px !important;
    margin: 0 3px 0 0 !important;
    justify-self: end !important;
    border-right: 1.5px solid currentColor !important;
    border-bottom: 1.5px solid currentColor !important;
    transform: rotate(-45deg) !important;
  }

  /* Second-level rows */
  html body .main-menu
  .main-nav__child details > summary,
  html body .main-menu
  .child-nav details > summary,
  html body .main-menu
  nav-menu > details > summary {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 12px !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
  }

  /* Down arrows for Shop By Brand, Mens Wetsuits, etc. */
  html body .main-menu
  .main-nav__child details > summary::after,
  html body .main-menu
  .child-nav details > summary::after,
  html body .main-menu
  nav-menu > details > summary::after {
    content: "" !important;
    display: block !important;
    width: 9px !important;
    height: 9px !important;
    margin: -4px 3px 0 0 !important;
    justify-self: end !important;
    border-right: 1.5px solid currentColor !important;
    border-bottom: 1.5px solid currentColor !important;
    transform: rotate(45deg) !important;
  }
}



/* Keep mobile header visible while menu is open */
@media (max-width: 1023px) {
  body:has(.main-menu__disclosure.is-open)
  .shopify-section-group-header-group.cc-header {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    transform: none !important;
    z-index: 50 !important;
  }

  body:has(.main-menu__disclosure.is-open)
  .main-menu__content,
  body:has(.main-menu__disclosure.is-open)
  .main-nav__child {
    top: var(--header-height, 60px) !important;
    height: calc(100dvh - var(--header-height, 60px)) !important;
    max-height: calc(100dvh - var(--header-height, 60px)) !important;
  }
}

/* Remove white scrollbar strip beside mobile menu */
@media (max-width: 1023px) {
  html:has(.main-menu__disclosure.is-open) {
    overflow: hidden !important;
    scrollbar-gutter: auto !important;
  }

  body:has(.main-menu__disclosure.is-open)
  .shopify-section-group-header-group.cc-header,
  body:has(.main-menu__disclosure.is-open)
  .main-menu__content,
  body:has(.main-menu__disclosure.is-open)
  .main-nav__child {
    width: 100vw !important;
    max-width: 100vw !important;
    right: auto !important;
    left: 0 !important;
    box-sizing: border-box !important;
  }
}
/* Hide white scrollbar track inside mobile dropdowns */
@media (max-width: 1023px) {
  .main-menu__content,
  .main-nav__child {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }

  .main-menu__content::-webkit-scrollbar,
  .main-nav__child::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }
}





/* Keep mobile header visible above custom search modal */
@media (max-width: 1023px) {
  body.twc-mobile-search-open
  .shopify-section-group-header-group.cc-header {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    transform: none !important;
    z-index: 1000000 !important;
  }

  body.twc-mobile-search-open #twc-mobile-search {
    top: var(--header-height, 60px) !important;
    bottom: 0 !important;
    height: auto !important;
    min-height: 0 !important;
  }

  html:has(body.twc-mobile-search-open) {
    overflow: hidden !important;
    scrollbar-gutter: auto !important;
  }
}


@media (max-width: 1023px) {
  .section--template {
    margin: 10px 0;
    .
}
}



/* Desktop mega-menu image layouts */
@media screen and (min-width: 1024px) {
  /* Other menu tabs retain five columns */
  html body
  .main-menu
  .mega-nav--sidebar
  .main-nav__grandchild-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    column-gap: 8px !important;
    row-gap: 8px !important;
  }

  /* Remove horizontal margins that shrink the images */
  html body
  .main-menu
  .mega-nav--sidebar
  .main-nav__grandchild-grid > li {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Brands only: seven columns filling the dropdown */
  html body
  .main-menu
  .main-nav > li:first-child
  .mega-nav--sidebar
  .main-nav__grandchild-grid {
    width: 100% !important;
    max-width: 1078px !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    margin-inline: auto !important;
  }
}


/* Sale text — desktop and mobile */
html body main-menu.main-menu a[href="/collections/all-sale"],
html body main-menu.main-menu a[href="/collections/all-sale"]:hover,
html body main-menu.main-menu a[href="/collections/all-sale"]:focus,
html body main-menu.main-menu summary:hover a[href="/collections/all-sale"],
html body main-menu.main-menu details:hover a[href="/collections/all-sale"] {
  color: #c23a3a !important;
  -webkit-text-fill-color: #c23a3a !important;
  opacity: 1 !important;
}



/* Mobile main menu: white background and dark text */
@media screen and (max-width: 1024px) {
  html body main-menu.main-menu .main-menu__content {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #2a2b2a !important;
  }

  html body main-menu.main-menu .main-menu__content a:not([href="/collections/all-sale"]),
  html body main-menu.main-menu .main-menu__content summary,
  html body main-menu.main-menu .main-menu__content button,
  html body main-menu.main-menu .main-menu__content svg {
    color: #2a2b2a !important;
    -webkit-text-fill-color: #2a2b2a !important;
  }

  /* Keep Sale red */
  html body main-menu.main-menu .main-menu__content a[href="/collections/all-sale"] {
    color: #c23a3a !important;
    -webkit-text-fill-color: #c23a3a !important;
  }
}





/* ==================================================
   DESKTOP MENU — SAME WIDTH AS DROPDOWN
   ================================================== */

@media screen and (min-width: 1024px) {

  /* Match the top menu width to the dropdown */
  html body main-menu.main-menu .main-menu__content > nav {
    width: calc(100vw - 40px) !important;
    max-width: 1100px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  /* Stretch touching tabs across that width */
  html body main-menu.main-menu ul.main-nav {
    display: flex !important;
    width: 100% !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 0 !important;
  }

  html body main-menu.main-menu ul.main-nav > li {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Make every link fill its tab */
  html body main-menu.main-menu ul.main-nav > li > a,
  html body main-menu.main-menu ul.main-nav > li > details,
  html body main-menu.main-menu ul.main-nav > li > details > summary,
  html body main-menu.main-menu ul.main-nav > li > details > summary > a {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
  }

  /* Centre tab text */
  html body main-menu.main-menu ul.main-nav > li > a,
  html body main-menu.main-menu ul.main-nav > li > details > summary > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 5px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  html body main-menu.main-menu ul.main-nav > li:last-child > a,
  html body main-menu.main-menu ul.main-nav > li:last-child
    > details > summary > a {
    padding-right: 0 !important;
  }

  /* White hover/opened tab */
  html body main-menu.main-menu ul.main-nav > li:hover,
  html body main-menu.main-menu ul.main-nav > li:focus-within,
  html body main-menu.main-menu ul.main-nav > li:has(> details[open]) {
    background-color: #ffffff !important;
  }

  /* Dark text on white tabs */
  html body main-menu.main-menu ul.main-nav > li:hover > a,
  html body main-menu.main-menu ul.main-nav > li:focus-within > a,
  html body main-menu.main-menu ul.main-nav > li:hover
    > details > summary > a,
  html body main-menu.main-menu ul.main-nav > li:focus-within
    > details > summary > a,
  html body main-menu.main-menu ul.main-nav > li:has(> details[open])
    > details > summary > a {
    color: #2a2b2a !important;
    -webkit-text-fill-color: #2a2b2a !important;
  }

 

}



/* Final menu override */
@media screen and (min-width: 1024px) {
  /* Sale: always red, including hover/open state */
  main-menu.main-menu .main-nav > li:nth-child(9) > details > summary,
  main-menu.main-menu .main-nav > li:nth-child(9) > details > summary > a,
  main-menu.main-menu .main-nav > li:nth-child(9):hover > details > summary,
  main-menu.main-menu .main-nav > li:nth-child(9):hover > details > summary > a,
  main-menu.main-menu .main-nav > li:nth-child(9) > details[open] > summary,
  main-menu.main-menu .main-nav > li:nth-child(9) > details[open] > summary > a {
    color: #c23a3a !important;
    -webkit-text-fill-color: #c23a3a !important;
  }
}



/* Product sale / percentage-off badges */
.product-label.product-label--sale {
  background-color: #c23a3a !important;
  border-color: #c23a3a !important;
  color: #ffffff !important;
}

.product-label.product-label--sale svg,
.product-label.product-label--sale svg * {
  color: #ffffff !important;
  fill: currentColor !important;
}



/* Sale prices everywhere */
.price--sale,
.price--sale *,
.compare-at-price + .price,
.sale-price,
.sale-price *,
[class*="sale-price" i],
[class*="sale-price" i] * {
  color: #c23a3a !important;
  -webkit-text-fill-color: #c23a3a !important;
}


#cart-drawer .drawer__header h2 {
  font-weight: 600;
}


.my-status-label.is-in-stock,
.clean-addon-stock.is-in-stock,
.clean-addon-stock--available {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
}

.my-status-label.is-in-stock::before,
.clean-addon-stock.is-in-stock::before,
.clean-addon-stock--available::before {
  content: "";
  display: block;
  box-sizing: border-box;
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  background: #16803c;
  border: 2px solid #16803c;
  border-radius: 50%;
}




/* Consistent spacing between rows on mobile product pages */
@media screen and (max-width: 1024px) {
  .product-info .product-info__sticky > .product-info__block {
    margin-top: 16px !important;
    margin-bottom: 0 !important;
  }

  .product-info .product-info__sticky > .product-info__block:first-child {
    margin-top: 0 !important;
  }

  /* Keep the vendor and product title visually grouped. */
  .product-info .product-info__sticky > .product-vendor-sku + .product-info__title {
    margin-top: 2px !important;
  }

  /* The outer row supplies the spacing for these inner elements. */
  .product-info .product-info__add-to-cart,
  .product-info .minimal-contact-container,
  .product-info .js-product-form-main {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Prevent invisible helper blocks from creating double gaps. */
  .product-info .product-info__sticky > .product-info__block:empty,
  .product-info .product-info__sticky > .product-backorder:has(.backorder[hidden]),
  .product-info .product-info__sticky > .product-info__block:has(> .fastest-delivery-source-app--hidden) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}



/* Product variation dropdown */
.product-info .custom-select__listbox {
  z-index: 20 !important;
}

/* Header and search dropdown above everything */
store-header.header,
.shopify-section-group-header-group:has(store-header.header) {
  position: relative;
  z-index: 120 !important;
}

/* Announcement bar above product dropdowns but below search */
.shopify-section-group-header-group.cc-announcement {
  position: relative;
  z-index: 110 !important;
}






/* Newsletter row background */
#g_MtU4i9pi {
  background: #212121 !important;
}

/* Input */
#g_MtU4i9pi .email-form-gbxd8ujNae {
  background: #212121 !important;
  border: 1px solid #2e2e2eff !important;

}

/* Placeholder */
#g_MtU4i9pi .email-form-gbxd8ujNae::placeholder {
  color: #fff !important;
  opacity: 1;
}

/* Submit button */
#g_MtU4i9pi [data-id="gDI9FQTyX8"] {
  background: #3F787B !important;
  color: #555555 !important;
  border: 1px solid #3F787B !important;
}

/* Button text */
#g_MtU4i9pi [data-id="gDI9FQTyX8"] .button-text {
  color: #fff !important;
}

/* Hover */
#g_MtU4i9pi [data-id="gDI9FQTyX8"]:hover {
  background: #3F787B !important;
  color: #fff !important;
}



/* Hide the out-of-stock badge everywhere, including product pages */
.product-label--sold-out {
  display: none !important;
}

/* Hide the existing sold-out image badge */
.main-products-grid product-card:has(.product-label--sold-out)
.product-label--sold-out {
  display: none;
}

/* Show plain Sold out text with the grey divider above */
.main-products-grid product-card:has(.product-label--sold-out)
.card__info-inner::after {
  content: "Out of stock";
  display: block;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #d9d9d9 !important;
  color: inherit;
  font-size: 1.2rem;
  line-height: 1.5;
  font-weight: normal;
}

#contact_form_gKhSxIJ7e5 input[name="contact[email]"],
#contact_form_gKhSxIJ7e5 input[name="contact[email]"]:focus,
#contact_form_gKhSxIJ7e5 input[name="contact[email]"]:active,
#contact_form_gKhSxIJ7e5 input[name="contact[email]"]:-webkit-autofill {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  caret-color: #fff !important;
}

/* Keep the footer email field dark when Google/Chrome autofills it */
#contact_form_gKhSxIJ7e5 input[name="contact[email]"]:-webkit-autofill,
#contact_form_gKhSxIJ7e5 input[name="contact[email]"]:-webkit-autofill:hover,
#contact_form_gKhSxIJ7e5 input[name="contact[email]"]:-webkit-autofill:focus,
#contact_form_gKhSxIJ7e5 input[name="contact[email]"]:autofill {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  caret-color: #fff !important;
  background-color: #212121 !important;
  -webkit-box-shadow: 0 0 0 1000px #212121 inset !important;
  box-shadow: 0 0 0 1000px #212121 inset !important;
}





/*
 * Compact product heading and Size row
 * Scoped to the rendered Shopify product-information component.
 * This changes layout only; it does not alter variant or modal markup.
 */

.product-main .product-info__sticky {
  /* Already sticky in the current theme; this also forms the positioning context. */
  position: sticky;
}

/* The action block no longer needs its own row. */
.product-main
  .product-info__sticky
  > .product-info__block:has(> .product-action-row) {
  height: 0;
  margin-block: 0;
}

.product-main .product-action-row {
  position: relative;
  display: block !important;
  width: 100%;
  height: 0;
  margin: 0 !important;
  overflow: visible;
}

/* Keep Share beside the brand/title area. */
.product-main .product-share-wrapper {
  position: absolute;
  right: 0;
  bottom: 4px;
  z-index: 2;
}

.product-main .product-vendor-sku,
.product-main .product-info__title {
  padding-right: 56px;
}

/* Put Size guide on the same line as the first (Size) option label. */
.product-main .size-guide-trigger {
  position: absolute;
  top: 5px;
  right: 0;
  z-index: 2;
  white-space: nowrap;
}

.product-main
  .product-options
  .option-selector[data-option="Size"]
  > .label {
  padding-right: 104px;
}

@media (max-width: 1023px) {
  .product-main .product-share-wrapper {
    bottom: 6px;
  }

  .product-main .product-vendor-sku,
  .product-main .product-info__title {
    padding-right: 52px;
  }
}


/*
 * Percentages such as "55% off" stay dynamic.
 */

.media-gallery__viewer {
  anchor-name: --product-main-image;
}

.product-main .product.js-product {
  position: relative;
  anchor-scope: --product-main-image;
}

.product-info__block[data-dynamic-variant-content$="-product-labels"] {
  /*
   * Fixed positioning deliberately escapes .product-info's positioned
   * containing block, allowing the sibling gallery anchor to resolve.
   */
  position: fixed !important;
  position-anchor: --product-main-image;
  position-visibility: anchors-visible;
  top: calc(anchor(top) + 12px) !important;
  left: calc(anchor(left) + 12px) !important;
  z-index: 20;
  width: max-content !important;
  margin: 0 !important;
  pointer-events: none;
}

@media (max-width: 1023px) {
  /*
   * On the stacked mobile layout, make the product wrapper the shared
   * containing block for both the gallery and product information.
   * This lets the badge use absolute positioning and scroll with the image.
   */
  .product-main .product-info.product-info {
    position: static !important;
  }

  .product-main .product-info__sticky {
    position: static !important;
  }

  .product-info__block[data-dynamic-variant-content$="-product-labels"] {
    position: absolute !important;
    position-anchor: auto;
    position-visibility: always;
    top: 10px !important;
    left: 10px !important;
  }
}




/*
 * Align every collection-card stock level directly above View Product.
 * Handles both real inventory elements and the generated sold-out message.
 */

.main-products-grid product-card:has(.product-inventory__status) .card__info,
.main-products-grid product-card:has(.product-label--sold-out) .card__info {
  padding-bottom: 40px;
}

.main-products-grid product-card .product-inventory__status {
  position: absolute;
  right: 5px;
  bottom: 60px;
  left: 5px;
  width: auto;
  margin: 0 !important;
}

.main-products-grid
  product-card:has(.product-label--sold-out)
  .card__info-inner::after {
  position: absolute;
  right: 5px;
  bottom: 60px;
  left: 5px;
  width: auto;
  margin: 0 !important;
}

@media (max-width: 1023px) {
  .main-products-grid product-card:has(.product-inventory__status) .card__info,
  .main-products-grid product-card:has(.product-label--sold-out) .card__info {
    padding-bottom: 38px;
  }

  .main-products-grid product-card .product-inventory__status,
  .main-products-grid
    product-card:has(.product-label--sold-out)
    .card__info-inner::after {
    right: 4px;
    bottom: 58px;
    left: 4px;
  }
}

@media (max-width: 1023px) {
.card__swatches {
    padding: 10px 10px 10px 0 !important;
}
}


.product-main .media-viewer__item[data-variant-selected="true"] {
  /*
   * The gallery items are position: static in this theme. This makes the tick
  * use this exact image as its positioning box, rather than the carousel.
  */
  position: relative !important;
}

.product-main .media-viewer__item[data-variant-selected="true"]::after {
  content: "Selected";
  position: absolute;
  bottom: 12px;
  left: 0;
  inset: 24px 24px auto auto !important;
  z-index: 6;
  display: inline-block;
  box-sizing: border-box;
  width: auto;
  max-width: calc(100% - 70px);
  height: auto;
  padding: 9px 14px;
  border: 1px solid rgba(42, 43, 42, 0.2);
  border-left: 0;
  border-radius: 0 5px 5px 0;
  background: rgba(242, 242, 242, 0.96);
  max-width: none !important;
  height: 42px;
  padding: 8px 16px;
  border: 1px solid rgba(42, 43, 42, 0.15);
  border-radius: 0;
  background: transparent;
  color: #2a2b2a;
  font-family: Roboto, sans-serif;
  font-size: 13.2px;
  font-weight: 700;
  line-height: 19.8px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: normal;
  text-align: center;
  text-align: left;
  white-space: nowrap;
  box-shadow: 0 -1px 4px rgba(0, 0, 0, 0.05);
  box-shadow: none;
  pointer-events: none;
}

@media (max-width: 767px) {
  .product-main .media-viewer__item[data-variant-selected="true"]::after {
    bottom: 10px;
    max-width: calc(100% - 80px);
    padding: 8px 12px;
    inset: 16px 16px auto auto !important;
    height: 42px;
    padding: 8px 16px;
  }
}


@media (min-width: 1024px) {
  #product-media.product-media--slider
    > media-gallery.media-gallery
    .media-gallery__viewer {
    border: 0 !important;
    position: relative;
    border: 1px solid #eeeeee !important;
  }

  #gallery-viewer .media-viewer__item {
    border-right: 0 !important;
  }

  #product-media.product-media--slider
    > media-gallery.media-gallery
    .media-gallery__viewer::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    z-index: 2;
    width: 1px;
    background: #f0f0f0;
    pointer-events: none;
  }
}


h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600 !important;
}







/* ==================================================
   IMPORTED WORDPRESS BLOG IMAGE FIX
   ================================================== */

/* Remove duplicated imported H1 */
.article__content > h1.wp-block-heading:first-child {
  display: none !important;
}

/* Normal WordPress images */
.article__content .wp-block-image,
.article__content .wp-block-kadence-image,
.article__content figure.aligncenter {
  max-width: 100% !important;
  height: auto !important;
  margin: 24px auto !important;
  text-align: center;
}

.article__content .wp-block-image img,
.article__content .wp-block-kadence-image img,
.article__content figure.aligncenter img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}

/* Remove widths and heights left by Kadence */
.article__content .wp-block-kadence-advancedgallery,
.article__content .wp-block-kadence-advancedgallery .kt-blocks-carousel,
.article__content .wp-block-kadence-advancedgallery .splide__track {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

/* Kadence grid galleries */
.article__content
.wp-block-kadence-advancedgallery
ul.kb-gallery-type-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
  margin: 24px 0 !important;
  list-style: none !important;
}

/* Kadence carousel and fluid-carousel galleries */
.article__content
.wp-block-kadence-advancedgallery
.kb-gallery-type-carousel
ul.splide__list,
.article__content
.wp-block-kadence-advancedgallery
.kb-gallery-type-fluidcarousel
ul.splide__list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
  margin: 24px 0 !important;
  transform: none !important;
  list-style: none !important;
}

/* Reset gallery items */
.article__content
.wp-block-kadence-advancedgallery
.kadence-blocks-gallery-item,
.article__content
.wp-block-kadence-advancedgallery
li.splide__slide {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

/* Remove theme-generated bullet dots */
.article__content
.wp-block-kadence-advancedgallery
.kadence-blocks-gallery-item::before,
.article__content
.wp-block-kadence-advancedgallery
li.splide__slide::before,
.article__content
.wp-block-kadence-advancedgallery
.kadence-blocks-gallery-item::marker,
.article__content
.wp-block-kadence-advancedgallery
li.splide__slide::marker {
  content: none !important;
  display: none !important;
}

/* Reset every nested Kadence image container */
.article__content
.wp-block-kadence-advancedgallery
.kadence-blocks-gallery-item-inner,
.article__content
.wp-block-kadence-advancedgallery
.kb-gallery-figure,
.article__content
.wp-block-kadence-advancedgallery
.kb-gal-image-radius,
.article__content
.wp-block-kadence-advancedgallery
.kb-gallery-image-contain {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Gallery image proportions */
.article__content
.wp-block-kadence-advancedgallery img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  margin: 0 !important;
}

/* Disable obsolete carousel controls */
.article__content
.wp-block-kadence-advancedgallery
.splide__arrows,
.article__content
.wp-block-kadence-advancedgallery
.splide__pagination {
  display: none !important;
}

/* Mobile galleries */
@media screen and (max-width: 749px) {
  .article__content
  .wp-block-kadence-advancedgallery
  ul.kb-gallery-type-grid,

  .article__content
  .wp-block-kadence-advancedgallery
  .kb-gallery-type-carousel
  ul.splide__list,

  .article__content
  .wp-block-kadence-advancedgallery
  .kb-gallery-type-fluidcarousel
  ul.splide__list {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
}





/* Reduce gaps between product description sections */
.cc-product-details
.container.reading-width
> .product-details__block {
  margin-top: 12px !important;
  margin-bottom: 12px !important;
}

/* Keep the first description box aligned */
.cc-product-details
.container.reading-width
> .product-details__block:first-child {
  margin-top: 0 !important;
}






/* ==================================================
   ALL FEATURED PRODUCT CAROUSELS
   ================================================== */

@media screen and (min-width: 1240px) {
  /* Shared layout, spacing and margins */
  #main-content
  > section.cc-featured-collection
  .featured-collection-container
  > .flex {
    display: flex !important;
    column-gap: 24px !important;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }

  /* First, third, fifth carousel: promotion card left */
  #main-content
  > section.cc-featured-collection:nth-child(
    odd of section.cc-featured-collection
  )
  .featured-collection-container
  > .flex {
    flex-direction: row !important;
  }

  /* Second, fourth, sixth carousel: promotion card right */
  #main-content
  > section.cc-featured-collection:nth-child(
    even of section.cc-featured-collection
  )
  .featured-collection-container
  > .flex {
    flex-direction: row-reverse !important;
  }

  /* Prevent overflow after adding the gap */
  #main-content
  > section.cc-featured-collection
  .carousel {
    min-width: 0 !important;
  }
}

/* Align product information and buttons */
#main-content
section.cc-featured-collection
product-card
.card__info {
  display: flex !important;
  flex: 1 1 auto !important;
}

#main-content
section.cc-featured-collection
product-card
.card__info-inner {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
}

/* Push stock status towards the button */
#main-content
section.cc-featured-collection
product-card
.product-inventory__status {
  min-height: 28px !important;
  margin-top: auto !important;
}

/* Consistent gap above the product button */
#main-content
section.cc-featured-collection
product-card
.card__button {
  margin-top: 8px !important;
}

/* Space underneath product swatches */
#main-content
section.cc-featured-collection
.opt-label.opt-label--swatch.swatch-shape--natural.swatch-shape--not-circle {
  margin-bottom: 10px !important;
}

/* Add missing status text to unavailable products */
#main-content
section.cc-featured-collection
product-card:has(.product-label--sold-out)
.card__info-inner::after {
  content: "Out of stock";
  display: block !important;
  min-height: 28px !important;
  margin-top: auto !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  font-size: 12px;
  line-height: 16px;
}




/* Desktop collection Sort by: restore normal overlay dropdown */
@media (min-width: 1024px) {
  #products-sort-by .custom-select__listbox {
    position: absolute !important;
    top: 5px !important;
    margin: 0 !important;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15) !important;
  }

}



.product-info__sticky:not(:has(variant-picker))
.product-info__block:has(> [id^="fastest-delivery-template--"]) {
  padding-top: 30px !important;
}