/** Shopify CDN: Minification failed

Line 2207:0 Unexpected "}"

**/
* {
  box-sizing: border-box
}

shop-login-button {
  display: none !important
}

body {
  color: var(--color-foreground);
  background: var(--color-background);
  display: flex;
  flex-direction: column;
  margin: 0;
  min-height: 100svh;
  font-variation-settings: 'slnt'0
}

:root {
  --hover-lift-amount: 4px;
  --hover-scale-amount: 1.03;
  --hover-subtle-zoom-amount: 1.015;
  --hover-shadow-color: var(--color-shadow);
  --hover-transition-duration: 0.25s;
  --hover-transition-timing: ease-out;
  --surface-transition-duration: 0.3s;
  --surface-transition-timing: var(--ease-out-quad)
}

html {
  scrollbar-width: thin;
  scrollbar-color: rgb(var(--color-foreground-rgb) / var(--opacity-40)) var(--color-background)
}

html[scroll-lock] {
  overflow: hidden
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%
}

img {
  width: 100%;
  height: auto;
  content-visibility: auto
}

input,
textarea,
select {
  font: inherit;
  border-radius: var(--style-border-radius-inputs);
  background-color: var(--color-background);
  color: currentcolor
}

input:hover {
  background-color: var(--color-input-hover-background)
}

dialog {
  --backdrop-color-rgb: var(--color-shadow-rgb);
  background-color: var(--color-background);
  color: var(--color-foreground)
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word
}

.wrap-text {
  overflow-wrap: break-word;
  word-break: break-word;
  hyphens: auto
}

p:empty {
  display: none
}

:first-child:is(p, h1, h2, h3, h4, h5, h6),
:first-child:empty+:where(p, h1, h2, h3, h4, h5, h6) {
  margin-block-start: 0
}

:last-child:is(p, h1, h2, h3, h4, h5, h6),
:where(p, h1, h2, h3, h4, h5, h6):nth-child(2):has(+:last-child:empty) {
  margin-block-end: 0
}

*:focus-visible {
  outline: var(--focus-outline-width) solid currentcolor;
  outline-offset: var(--focus-outline-offset)
}

@supports not selector(:focus-visible) {
  *:focus {
    outline: var(--focus-outline-width) solid currentcolor;
    outline-offset: var(--focus-outline-offset)
  }
}

.focus-inset {
  outline-offset: calc(var(--focus-outline-width) * -1)
}

.content-for-layout {
  flex: 1
}

.page-width-wide,
.page-width-normal,
.page-width-narrow,
.page-width-content {
  --page-margin: 16px
}

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

  .page-width-wide,
  .page-width-normal,
  .page-width-narrow,
  .page-width-content {
    --page-margin: 40px
  }
}

.page-width-wide {
  --page-content-width: var(--wide-page-width);
  --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2))
}

.page-width-normal {
  --page-content-width: var(--normal-page-width);
  --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2))
}

.page-width-narrow,
.page-width-content {
  --page-content-width: var(--narrow-page-width);
  --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2))
}

.page-width-content {
  --page-content-width: var(--normal-content-width);
  --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2))
}

.section {
  --full-page-grid-central-column-width: min(var(--page-width) - var(--page-margin) * 2,
      calc(100% - var(--page-margin) * 2));
  --full-page-grid-margin: minmax(var(--page-margin), 1fr);
  --full-page-grid-with-margins: var(--full-page-grid-margin) var(--full-page-grid-central-column-width) var(--full-page-grid-margin);
  --util-page-margin-offset: max(var(--page-margin),
      calc((100% - min(var(--page-content-width), calc(100% - (var(--page-margin) * 2)))) / 2));
  --full-page-margin-inline-offset: calc(((100vw - var(--full-page-grid-central-column-width)) / 2) * -1);
  width: 100%;
  position: relative;
  display: grid;
  grid-template-columns: var(--full-page-grid-with-margins);
  min-height: var(--section-min-height, 'auto')
}

.section>* {
  grid-column: 2
}

.shopify-section:not(.header-section) :is(.section, .cart__summary-container) {
  background: #fff0
}

.shopify-section:not(.header-section):has(.section) {
  position: relative
}

.shopify-section:not(.header-section) .section-background {
  content: '';
  position: absolute;
  inset: 0;
  z-index: var(--layer-section-background)
}

.section--page-width>* {
  grid-column: 2
}

.section--full-width>* {
  grid-column: 1 / -1
}

.section--page-width.section--full-width-right>* {
  grid-column: 2 / 4
}

.section--full-width.section--full-width-margin>* {
  grid-column: 1 / -1;

  @media screen and (min-width:750px) {
    padding-left: var(--page-margin);
    padding-right: var(--page-margin)
  }
}

.section>.force-full-width {
  grid-column: 1 / -1
}

.section--height-small {
  --section-min-height: var(--section-height-small)
}

.section--height-medium {
  --section-min-height: var(--section-height-medium)
}

.section--height-large {
  --section-min-height: var(--section-height-large)
}

.section--height-full-screen {
  --section-min-height: 100svh
}

.section-content-wrapper.section-content-wrapper {
  min-height: calc(var(--section-min-height, 'auto') - var(--section-height-offset, 0px));
  position: relative;
  width: 100%;
  height: 100%
}

.hidden {
  display: none !important
}

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

  .hidden--mobile,
  .mobile\:hidden {
    display: none !important
  }
}

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

  .hidden--desktop,
  .desktop\:hidden {
    display: none !important
  }
}

.hide-when-empty:empty {
  display: none !important
}

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

@media screen and (max-width:749px) {
  .is-visually-hidden-mobile:not(:focus, :active) {
    position: absolute !important;
    overflow: hidden;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    word-wrap: normal !important
  }
}

.contents {
  display: contents
}

.grid {
  --centered-column-number: 12;
  --full-width-column-number: 14;
  --centered: column-1 / span var(--centered-column-number);
  --full-width: column-0 / span var(--full-width-column-number);
  display: flex;
  flex-direction: column
}

@media screen and (min-width:750px) {
  .grid {
    display: grid;
    gap: 0;
    grid-template-columns: var(--margin-4xl) repeat(var(--centered-column-number), minmax(0, 1fr)) var(--margin-4xl);
    grid-template-areas: 'column-0 column-1 column-2 column-3 column-4 column-5 column-6 column-7 column-8 column-9 column-10 column-11 column-12 column-13'
  }
}

@media screen and (min-width:1400px) {
  .grid {
    grid-template-columns: 1fr repeat(var(--centered-column-number), minmax(0, calc((var(--page-width) - var(--page-margin) * 2) / var(--centered-column-number)))) 1fr
  }
}

.flex {
  display: flex;
  gap: var(--gap-md)
}

.flip-x {
  scale: -1 1
}

.flip-y {
  scale: 1 -1
}

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

.skip-to-content-link {
  position: absolute;
  overflow: hidden;
  height: 1px;
  left: -99999px;
  word-wrap: normal !important
}

.skip-to-content-link:focus {
  z-index: var(--layer-temporary);
  overflow: auto;
  width: auto;
  height: auto;
  padding: var(--padding-lg) var(--padding-4xl);
  left: var(--margin-lg);
  top: var(--margin-lg);
  box-shadow: 0 0 0 var(--focus-outline-offset) var(--color-background)
}

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

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

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

.text-inherit {
  color: inherit
}

.user-select-text {
  user-select: text
}

.justify-left {
  justify-content: left
}

.justify-center {
  justify-content: center
}

.justify-right {
  justify-content: right
}

.title--aligned-center {
  display: flex;
  align-items: center;
  gap: 1rem
}

.background-image-container {
  overflow: hidden;
  position: absolute;
  inset: 0;
  opacity: var(--image-opacity)
}

.background-image-container img,
.background-image-container svg {
  object-fit: cover;
  width: 100%;
  height: 100%
}

.background-image-fit img,
.background-image-fit svg {
  object-fit: contain
}

.svg-wrapper {
  color: currentcolor;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: var(--icon-size-sm);
  height: var(--icon-size-sm);
  pointer-events: none
}

.svg-wrapper--smaller {
  width: var(--icon-size-2xs);
  height: var(--icon-size-2xs)
}

.svg-wrapper--small {
  width: var(--icon-size-xs);
  height: var(--icon-size-xs)
}

.svg-wrapper>svg {
  width: var(--icon-size-sm);
  height: var(--icon-size-sm)
}

.relative {
  position: relative
}

.icon-success,
.icon-error {
  width: var(--icon-size-md);
  height: var(--icon-size-md);
  flex-shrink: 0
}

.icon-success {
  color: var(--color-success)
}

.icon-error {
  fill: var(--color-error)
}

placeholder-image {
  display: block;
  height: 100%;
  aspect-ratio: var(--ratio)
}

placeholder-image[data-type='product'] {
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-15));
  width: 100%
}

placeholder-image[data-type='product']:not(:has(>img)) {
  aspect-ratio: var(--ratio);
  height: 350px
}

placeholder-image>img {
  object-fit: cover;
  aspect-ratio: var(--ratio);
  height: 100%
}

[data-placeholder='true'] * {
  cursor: default
}

slideshow-component [data-placeholder='true'] * {
  cursor: grab
}

body,
.paragraph:not(.button),
.paragraph>* {
  font-family: var(--font-paragraph--family);
  font-style: var(--font-paragraph--style);
  font-weight: var(--font-paragraph--weight);
  font-size: var(--font-paragraph--size);
  line-height: var(--font-paragraph--line-height);
  text-transform: var(--font-paragraph--case);
  -webkit-font-smoothing: antialiased;
  color: var(--color, var(--color-foreground))
}

@media screen and (max-width:1200px) {
  :is(input, textarea, select) {
    font-size: 16px !important
  }

  :is(.paragraph, .h1, .h2, .h3, .h4, .h5, .h6) :is(input, textarea, select) {
    font-size: 16px !important
  }
}

.paragraph>small {
  font-size: smaller
}

h1,
.h1.h1,
.text-block.h1>* {
  font-family: var(--font-h1--family);
  font-style: var(--font-h1--style);
  font-weight: var(--font-h1--weight);
  font-size: var(--font-h1--size);
  line-height: var(--font-h1--line-height);
  letter-spacing: var(--font-h1--letter-spacing);
  text-transform: var(--font-h1--case);
  color: var(--color, var(--font-h1-color))
}

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

  input.h1.h1,
  textarea.h1.h1,
  select.h1.h1 {
    font-size: 16px !important
  }
}

h2,
.h2.h2,
.text-block.h2>* {
  font-family: var(--font-h2--family);
  font-style: var(--font-h2--style);
  font-weight: var(--font-h2--weight);
  font-size: var(--font-h2--size);
  line-height: var(--font-h2--line-height);
  letter-spacing: var(--font-h2--letter-spacing);
  text-transform: var(--font-h2--case);
  color: var(--color, var(--font-h2-color))
}

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

  input.h2.h2,
  textarea.h2.h2,
  select.h2.h2 {
    font-size: 16px !important
  }
}

h3,
.h3,
.h3.h3,
.text-block.h3>* {
  font-family: var(--font-h3--family);
  font-style: var(--font-h3--style);
  font-weight: var(--font-h3--weight);
  font-size: var(--font-h3--size);
  line-height: var(--font-h3--line-height);
  letter-spacing: var(--font-h3--letter-spacing);
  text-transform: var(--font-h3--case);
  color: var(--color, var(--font-h3-color))
}

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

  input.h3,
  textarea.h3,
  select.h3 {
    font-size: 16px !important
  }
}

h4,
.h4.h4,
.text-block.h4>* {
  font-family: var(--font-h4--family);
  font-style: var(--font-h4--style);
  font-weight: var(--font-h4--weight);
  font-size: var(--font-h4--size);
  line-height: var(--font-h4--line-height);
  letter-spacing: var(--font-h4--letter-spacing);
  text-transform: var(--font-h4--case);
  color: var(--color, var(--font-h4-color))
}

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

  input.h4.h4,
  textarea.h4.h4,
  select.h4.h4 {
    font-size: 16px !important
  }
}

h5,
.h5.h5,
.text-block.h5>* {
  font-family: var(--font-h5--family);
  font-style: var(--font-h5--style);
  font-weight: var(--font-h5--weight);
  font-size: var(--font-h5--size);
  line-height: var(--font-h5--line-height);
  letter-spacing: var(--font-h5--letter-spacing);
  text-transform: var(--font-h5--case);
  color: var(--color, var(--font-h5-color))
}

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

  input.h5.h5,
  textarea.h5.h5,
  select.h5.h5 {
    font-size: 16px !important
  }
}

h6,
.h6.h6,
.text-block.h6>* {
  font-family: var(--font-h6--family);
  font-style: var(--font-h6--style);
  font-weight: var(--font-h6--weight);
  font-size: var(--font-h6--size);
  line-height: var(--font-h6--line-height);
  letter-spacing: var(--font-h6--letter-spacing);
  text-transform: var(--font-h6--case);
  color: var(--color, var(--font-h6-color))
}

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

  input.h6.h6,
  textarea.h6.h6,
  select.h6.h6 {
    font-size: 16px !important
  }
}

:first-child:is(.h1, .h2, .h3, .h4, .h5, .h6) {
  margin-block-start: 0
}

:last-child:is(.h1, .h2, .h3, .h4, .h5, .h6) {
  margin-block-end: 0
}

a {
  --button-color: var(--color, var(--color-primary));
  color: var(--button-color);
  text-decoration-color: #fff0;
  text-decoration-thickness: .075em;
  text-underline-offset: .125em;
  transition: text-decoration-color var(--animation-speed) var(--animation-easing), color var(--animation-speed) var(--animation-easing)
}

:is(h1, h2, h3, h4, h5, h6, p)>a:hover {
  --button-color: var(--color, var(--color-primary-hover))
}

p:not(.h1, .h2, .h3, .h4, .h5, .h6) a:where(:not(.button, .button-primary, .button-secondary)),
.rte :is(p, ul, ol, table):not(.h1, .h2, .h3, .h4, .h5, .h6) a:where(:not(.button, .button-primary, .button-secondary)) {
  text-decoration-color: currentcolor;

  &:hover {
    text-decoration-color: #fff0;
    color: var(--color-primary-hover)
  }
}

.container-background-image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center
}

details[open] .summary-closed {
  display: none
}

details:not([open]) .summary-open {
  display: none
}

details[open]>summary .icon-animated>svg {
  transform: rotate(180deg)
}

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

body:has(.header[transparent]) .content-for-layout>.shopify-section:first-child {
  margin-top: calc(var(--header-group-height) * -1)
}

body:has(.header[transparent]) #header-group>*:not(.header-section) {
  z-index: 1
}

body:has(.header[transparent]) #header-group>.header-section {
  z-index: var(--layer-sticky)
}

.text-block {
  width: 100%
}

.text-block>*:first-child,
.text-block>*:first-child:empty+* {
  margin-block-start: 0
}

.text-block>*:last-child,
.text-block>*:has(+*:last-child:empty) {
  margin-block-end: 0
}

.text-block>style+* {
  margin-block-start: 0
}

shopify-accelerated-checkout,
shopify-accelerated-checkout-cart {
  --shopify-accelerated-checkout-button-border-radius: var(--style-border-radius-buttons-primary);
  --shopify-accelerated-checkout-button-block-size: var(--height-buy-buttons)
}

.product-form-buttons:has(.add-to-cart-button.button-secondary) :is(shopify-accelerated-checkout, shopify-accelerated-checkout-cart) {
  --shopify-accelerated-checkout-button-border-radius: var(--style-border-radius-buttons-secondary);
  --shopify-accelerated-checkout-button-block-size: var(--height-buy-buttons)
}

.icon-caret svg {
  transition: transform var(--animation-speed) var(--animation-easing)
}

.icon-caret--forward svg {
  transform: rotate(-90deg)
}

.icon-caret--backward svg {
  transform: rotate(90deg)
}

summary {
  display: flex;
  align-items: center;
  cursor: pointer;
  list-style: none;
  padding-block: var(--padding-sm)
}

summary:hover {
  color: var(--color-primary-hover)
}

summary .svg-wrapper {
  margin-inline-start: auto;
  height: var(--icon-size-xs);
  width: var(--icon-size-xs);
  transition: transform var(--animation-speed) var(--animation-easing)
}

summary .icon-plus :is(.horizontal, .vertical),
.show-more__button .icon-plus :is(.horizontal, .vertical) {
  transition: transform var(--animation-speed) var(--animation-easing);
  transform: rotate(0deg);
  transform-origin: 50% 50%;
  opacity: 1
}

details[open]>summary .icon-plus .horizontal,
.details-open>summary .icon-plus .horizontal,
.show-more:where([data-expanded='true']) .show-more__button .icon-plus .horizontal {
  transform: rotate(90deg)
}

details[open]>summary .icon-plus .vertical,
.details-open>summary .icon-plus .vertical,
.show-more:where([data-expanded='true']) .show-more__button .icon-plus .vertical {
  transform: rotate(90deg);
  opacity: 0
}

.sticky-content {
  position: sticky;
  top: var(--sticky-header-offset, 0);
  z-index: var(--layer-flat)
}

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

  .sticky-content--desktop,
  .sticky-content--desktop.full-height--desktop>.group-block {
    position: sticky;
    top: var(--sticky-header-offset, 0);
    z-index: var(--layer-flat)
  }
}

.price,
.compare-at-price,
.unit-price {
  white-space: nowrap
}

.unit-price {
  display: block;
  font-size: min(0.85em, var(--font-paragraph--size));
  color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text))
}

.tax-note.tax-note.tax-note {
  font-size: min(0.85em, var(--font-paragraph--size));
  color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text))
}

product-price.text-block:is(.h1, .h2, .h3, .h4, .h5, .h6)>*:not(.tax-note) {
  margin-block: 0
}

.compare-at-price {
  opacity: .4;
  text-decoration-line: line-through;
  text-decoration-thickness: 1.5px
}

.card-gallery {
  position: relative
}

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

  product-card:focus-within .quick-add__button,
  .card-gallery:hover .quick-add__button {
    display: grid;
    will-change: margin, opacity;
    animation: elementSlideInTop var(--animation-speed) var(--animation-easing)
  }
}

@container (max-width:70px) {
  .card-gallery:hover .quick-add__button {
    display: none
  }
}

.spacing-style {
  --spacing-scale: var(--spacing-scale-md);

  @media screen and (min-width:990px) {
    --spacing-scale: var(--spacing-scale-default)
  }

  --padding-block:0px;
  --padding-block-start:var(--padding-block, 0px);
  --padding-block-end:var(--padding-block, 0px);
  --padding-inline:0px;
  --padding-inline-start:var(--padding-inline, 0px);
  --padding-inline-end:var(--padding-inline, 0px);
  --margin-block:0px;
  --margin-block-start:var(--margin-block, 0px);
  --margin-block-end:var(--margin-block, 0px);
  --margin-inline:0px;
  --margin-inline-start:var(--margin-inline, 0px);
  --margin-inline-end:var(--margin-inline, 0px)
}

.spacing-style,
.inherit-spacing {
  padding-block: calc(var(--padding-block-start) + var(--section-top-offset, 0px)) var(--padding-block-end);
  padding-inline: var(--padding-inline-start) var(--padding-inline-end);
  margin-block: var(--margin-block-start) var(--margin-block-end);
  margin-inline: var(--margin-inline-start) var(--margin-inline-end)
}

.size-style {
  width: var(--size-style-width-mobile, var(--size-style-width));
  height: var(--size-style-height-mobile, var(--size-style-height));

  @media screen and (min-width:750px) {
    width: var(--size-style-width);
    height: var(--size-style-height)
  }
}

.custom-typography,
.custom-typography>* {
  font-family: var(--font-family);
  font-weight: var(--font-weight);
  text-transform: var(--text-transform);
  text-wrap: var(--text-wrap);
  line-height: var(--line-height);
  letter-spacing: var(--letter-spacing)
}

.custom-typography {
  h1 {
    line-height: var(--line-height--display, var(--line-height))
  }

  h2,
  h3,
  h4 {
    line-height: var(--line-height--heading, var(--line-height))
  }

  p {
    line-height: var(--line-height--body, var(--line-height))
  }
}

.custom-font-size,
.custom-font-size>* {
  font-size: var(--font-size)
}

.custom-font-weight,
.custom-font-weight>* {
  font-weight: var(--weight)
}

.border-style {
  border-width: var(--border-width);
  border-style: var(--border-style);
  border-color: var(--border-color);
  border-radius: var(--border-radius)
}

.gap-style,
.layout-panel-flex {
  --gap-scale: var(--spacing-scale-md);

  @media screen and (min-width:990px) {
    --gap-scale: var(--spacing-scale-default)
  }
}

.layout-panel-flex {
  display: flex;
  gap: var(--gap);
  height: 100%
}

.layout-panel-flex--row {
  flex-flow: row var(--flex-wrap);
  justify-content: var(--horizontal-alignment);
  align-items: var(--vertical-alignment)
}

.layout-panel-flex--column {
  flex-flow: column var(--flex-wrap);
  align-items: var(--horizontal-alignment);
  justify-content: var(--vertical-alignment)
}

@media screen and (max-width:749px) {
  .mobile-column {
    flex-flow: column nowrap;
    align-items: var(--horizontal-alignment);
    justify-content: var(--vertical-alignment-mobile)
  }

  .layout-panel-flex--row:not(.mobile-column) {
    flex-wrap: var(--flex-wrap-mobile);

    >.text-block {
      flex: 1 1 var(--max-width--display-tight)
    }

    >.image-block {
      flex: 1 1 var(--size-style-width-mobile-min)
    }

    >.button {
      flex: 0 0 fit-content
    }
  }
}

@media (min-width:750px) {
  .layout-panel-flex {
    flex-direction: var(--flex-direction)
  }
}

.field {
  position: relative;
  width: 100%;
  display: flex;
  transition: box-shadow var(--animation-speed) ease
}

.field__input {
  flex-grow: 1;
  text-align: left;
  border-radius: var(--style-border-radius-inputs);
  transition: box-shadow var(--animation-speed) ease, background-color var(--animation-speed) ease;
  padding: var(--input-padding);
  box-shadow: var(--input-box-shadow);
  background-color: var(--color-input-background);
  color: var(--color-input-text);
  border: none;
  outline: none;
  font-size: var(--font-paragraph--size);

  &:autofill {
    background-color: var(--color-input-background);
    color: var(--color-input-text)
  }
}

.field__input:is(:focus, :hover) {
  box-shadow: var(--input-box-shadow-focus);
  background-color: var(--color-input-hover-background)
}

.field__input--button-radius {
  border-radius: var(--style-border-radius-buttons-primary)
}

.field__input--button-padding {
  padding-inline: var(--padding-3xl)
}

.field__label {
  color: rgb(var(--color-input-text-rgb) / var(--opacity-80));
  font-size: var(--font-paragraph--size);
  left: var(--input-padding-x);
  top: 50%;
  transform: translateY(-50%);
  margin-bottom: 0;
  pointer-events: none;
  position: absolute;
  transition: top var(--animation-speed) ease, font-size var(--animation-speed) ease
}

.rte,
.shopify-policy__title {
  :is(h1, h2, h3, h4, h5, h6) {
    margin-block: clamp(1.5rem, 1em * 3.3, 2.5rem) clamp(1rem, 1em * 0.25, 2rem)
  }

  :first-child:is(p, h1, h2, h3, h4, h5, h6),
  :first-child:empty+:is(p, h1, h2, h3, h4, h5, h6) {
    margin-block-start: 0
  }

  ul,
  ol {
    margin-block-start: 0;
    padding-inline-start: 1.5em
  }

  :is(ul, ol):not(:is(ul, ol) :is(ul, ol)) {
    margin-block-end: 1em
  }

  blockquote {
    margin-inline: 1.5em 2.3em;
    margin-block: 3.8em;
    padding-inline-start: .8em;
    border-inline-start: 1.5px solid rgb(var(--color-foreground-rgb) / var(--opacity-25));
    font-style: italic;
    font-weight: 500
  }

  .rte-table-wrapper {
    overflow-x: auto
  }

  table {
    width: 100% !important;
    border-collapse: collapse
  }

  tr:not(:has(td)),
  thead {
    background-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
    font-weight: 700;
    text-transform: uppercase
  }

  tr:has(td) {
    border-bottom: 1px solid rgb(var(--color-foreground-rgb) / var(--opacity-10))
  }

  th,
  td {
    text-align: start;
    padding-inline: var(--padding-md);
    padding-block: var(--padding-sm)
  }
}

.shopify-policy__container {
  padding-block: var(--padding-xl)
}

.checkbox {
  --checkbox-size: 22px;
  --checkbox-top: 50%;
  --checkbox-left: 1.5px;
  --checkbox-offset: 3px;
  --checkbox-border-radius: 7px;
  --checkbox-label-padding: 8px;
  --checkbox-path-opacity: 0;
  --checkbox-cursor: pointer;
  --checkbox-border: 1px solid rgb(var(--color-foreground-rgb) / var(--opacity-35-55));
  position: relative;
  display: flex;
  align-items: center;

  @media screen and (min-width:750px) {
    --checkbox-size: 16px;
    --checkbox-border-radius: 5px;
    --checkbox-label-padding: 6px
  }

  &:has(.checkbox__input:checked) {
    --checkbox-path-opacity: 1
  }

  &:has(.checkbox__input:disabled) {
    --checkbox-cursor: not-allowed
  }
}

.checkbox__input {
  position: absolute;
  opacity: 0;
  margin: 0;
  width: var(--checkbox-size);
  height: var(--checkbox-size);

  &:focus-visible {
    outline: none
  }

  &:focus-visible+.checkbox__label .icon-checkmark {
    outline: var(--focus-outline-width) solid currentcolor;
    outline-offset: var(--focus-outline-offset)
  }

  &:checked+.checkbox__label .icon-checkmark {
    background-color: var(--color-foreground);
    border-color: var(--color-foreground)
  }

  &:disabled+.checkbox__label .icon-checkmark {
    background-color: var(--input-disabled-background-color);
    border-color: var(--input-disabled-border-color)
  }
}

.checkbox__label {
  position: relative;
  display: inline-flex;
  cursor: var(--checkbox-cursor);
  line-height: var(--checkbox-size);
  min-width: var(--minimum-touch-target)
}

.checkbox .icon-checkmark {
  height: var(--checkbox-size);
  width: var(--checkbox-size);
  flex-shrink: 0;
  border: var(--checkbox-border);
  border-radius: var(--checkbox-border-radius);
  background-color: var(--color-background)
}

.checkbox__label-text {
  padding-inline-start: var(--checkbox-label-padding);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.checkbox .icon-checkmark path {
  stroke: var(--color-background);
  opacity: var(--checkbox-path-opacity);
  transition: opacity var(--animation-speed) var(--animation-easing)
}

.checkbox__input:disabled+.checkbox__label {
  color: var(--input-disabled-text-color)
}

.button[id^='BuyButtons-ProductSubmitButton-'] {
  position: relative;
  overflow: hidden
}

.cart-bubble {
  --cart-padding: 0.2em;
  position: relative;
  width: 20px;
  aspect-ratio: 1;
  border-radius: 50%;
  border-width: 0;
  display: flex;
  line-height: normal;
  align-items: center;
  justify-content: center;
  color: var(--color-primary-button-text);
  padding-inline: var(--cart-padding)
}

.cart-bubble__background {
  position: absolute;
  inset: 0;
  background-color: var(--color-primary-button-background);
  border-radius: var(--style-border-radius-lg)
}

.cart-bubble__text {
  font-size: var(--font-size--2xs);
  z-index: var(--layer-flat);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center
}

.quantity-selector {
  --quantity-selector-width: 124px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--color-input-text);
  background-color: var(--color-input-background);
  border: var(--style-border-width-inputs) solid var(--color-input-border);
  border-radius: var(--style-border-radius-inputs);
  flex: 1 1 var(--quantity-selector-width);
  align-self: stretch;
  transition: background-color var(--animation-speed) var(--animation-easing);

  &:hover {
    background-color: var(--color-input-hover-background)
  }
}

.product-form-buttons:has(.add-to-cart-button.button-secondary) .quantity-selector {
  border-radius: var(--style-border-radius-buttons-secondary)
}

.quantity-selector :is(.quantity-minus, .quantity-plus) {
  padding: 0;
  background: #fff0;
  box-shadow: none;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  width: var(--minimum-touch-target);
  height: var(--minimum-touch-target);
  flex-shrink: 0;
  color: var(--color-input-text)
}

.quantity-selector .quantity-minus {
  border-start-start-radius: var(--style-border-radius-inputs);
  border-end-start-radius: var(--style-border-radius-inputs)
}

.quantity-selector .quantity-plus {
  border-start-end-radius: var(--style-border-radius-inputs);
  border-end-end-radius: var(--style-border-radius-inputs)
}

.product-details .quantity-selector {
  border-radius: var(--style-border-radius-buttons-primary)
}

.product-details .quantity-selector .quantity-minus {
  border-start-start-radius: var(--style-border-radius-buttons-primary);
  border-end-start-radius: var(--style-border-radius-buttons-primary)
}

.product-details .quantity-selector .quantity-plus {
  border-start-end-radius: var(--style-border-radius-buttons-primary);
  border-end-end-radius: var(--style-border-radius-buttons-primary)
}

.quantity-selector .svg-wrapper {
  transition: transform var(--animation-speed) var(--animation-easing)
}

.quantity-selector svg {
  width: var(--icon-size-xs);
  height: var(--icon-size-xs)
}

:is(.quantity-minus, .quantity-plus):active .svg-wrapper {
  transform: scale(.9)
}

.quantity-selector input[type='number'] {
  margin: 0;
  text-align: center;
  border: none;
  appearance: none;
  max-width: calc(var(--quantity-selector-width) - var(--minimum-touch-target) * 2);
  border-radius: var(--style-border-radius-buttons);
  color: var(--color-input-text);
  background-color: #fff0
}

.quantity-selector input[type='number']::-webkit-inner-spin-button,
.quantity-selector input[type='number']::-webkit-outer-spin-button {
  appearance: none
}

.quantity-selector input[type='number'] {
  appearance: textfield
}

.pills__pill {
  --pills-pill-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
  color: var(--color-foreground);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--gap-sm);
  min-width: 48px;
  padding: 6px 12px;
  border-radius: var(--style-border-radius-pills);
  cursor: pointer;
  background-color: var(--pills-pill-background-color);
  transition: background-color var(--animation-speed) var(--animation-easing);

  &:hover {
    --pills-pill-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10-25))
  }

  @media screen and (max-width:749px) {
    padding: var(--padding-xs) var(--padding-md)
  }
}

.pills__pill>.svg-wrapper {
  --close-icon-opacity: 0.4;
  --icon-stroke-width: 1px;
  color: var(--color-foreground)
}

.pills__pill--swatch {
  @media screen and (max-width:749px) {
    padding-inline-start: var(--padding-sm)
  }
}

.pills__pill--swatch .swatch {
  margin-right: -4px
}

.pills__pill--desktop-small {
  @media screen and (min-width:750px) {
    font-size: var(--font-size--xs)
  }
}

fly-to-cart {
  position: fixed;
  width: 40px;
  height: 40px;
  left: 0;
  top: 0;
  border-radius: 50%;
  z-index: calc(infinity);
  pointer-events: none;
  opacity: 0;
  overflow: hidden;
  box-shadow: 0 4px 8px rgb(0 0 0 / 20%);
  transition: opacity 0.3s ease;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: var(--color-foreground);
  transform: translate(var(--x, 0), var(--y, 0)) scale(var(--scale, 1))
}

@keyframes grow {
  0% {
    transform: scale(1)
  }

  50% {
    transform: scale(1.2)
  }

  100% {
    transform: scale(1)
  }
}

@keyframes slideInLeft {
  from {
    transform: translateX(var(--custom-transform-from, 100%))
  }

  to {
    transform: translateX(var(--custom-transform-to, 0))
  }
}

@keyframes slideInLeftViewTransition {
  from {
    transform: translateX(100px)
  }
}

@keyframes slideOutRight {
  from {
    transform: translateX(0)
  }

  to {
    transform: translateX(var(--custom-transform-to, -100%))
  }
}

@keyframes slideInRight {
  from {
    transform: translateX(-100%)
  }

  to {
    transform: translateX(0)
  }
}

@keyframes slideOutLeft {
  from {
    transform: translateX(0)
  }

  to {
    transform: translateX(100%)
  }
}

@keyframes slideInTop {
  from {
    transform: translateY(100%)
  }

  to {
    transform: translateY(0)
  }
}

@keyframes slideInTopViewTransition {
  from {
    transform: translateY(100px)
  }
}

@keyframes slideOutBottom {
  from {
    transform: translateY(0)
  }

  to {
    transform: translateY(100%)
  }
}

@keyframes slideInBottom {
  from {
    transform: translateY(-100%)
  }

  to {
    transform: translateY(0)
  }
}

@keyframes slideOutTop {
  from {
    transform: translateY(0)
  }

  to {
    transform: translateY(-100%)
  }
}

@keyframes cartBubbleSlideIn {
  from {
    transform: translateY(-1em)
  }

  to {
    transform: translateY(0)
  }
}

@keyframes elementSlideInTop {
  from {
    margin-top: var(--padding-sm);
    opacity: 0
  }

  to {
    margin-top: 0;
    opacity: 1
  }
}

@keyframes elementSlideOutTop {
  from {
    transform: translateY(0);
    opacity: 1
  }

  to {
    transform: translateY(var(--padding-sm));
    opacity: 0
  }
}

@keyframes elementSlideInBottom {
  from {
    transform: translateY(calc(-1 * var(--padding-sm)));
    opacity: 0
  }

  to {
    transform: translateY(0);
    opacity: 1
  }
}

@keyframes elementSlideOutBottom {
  from {
    transform: translateY(0);
    opacity: 1
  }

  to {
    transform: translateY(calc(-1 * var(--padding-sm)));
    opacity: 0
  }
}

@keyframes thumbnailsSlideInTop {
  from {
    transform: translateY(calc(-50% + var(--margin-lg)));
    opacity: 0
  }

  to {
    transform: translateY(-50%);
    opacity: 1
  }
}

@keyframes thumbnailsSlideOutTop {
  from {
    transform: translateY(-50%);
    opacity: 1
  }

  to {
    transform: translateY(calc(-50% + var(--margin-lg)));
    opacity: 0
  }
}

@keyframes thumbnailsSlideInBottom {
  from {
    transform: translateY(100%);
    opacity: 0
  }

  to {
    transform: translateY(0);
    opacity: 1
  }
}

@keyframes thumbnailsSlideOutBottom {
  from {
    transform: translateY(0);
    opacity: 1
  }

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

@keyframes search-element-slide-in-bottom {
  0% {
    transform: translateY(20px);
    opacity: 0
  }

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

@keyframes search-element-slide-out-bottom {
  0% {
    transform: translateY(0);
    opacity: 1
  }

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

@keyframes dialogZoom {
  from {
    opacity: 1;
    transform: scale(1) translateY(0)
  }

  to {
    opacity: 0;
    transform: scale(.95) translateY(1em)
  }
}

@keyframes thumbnail-selected {

  0%,
  100% {
    box-shadow: 0 0 0 2px #fff0;
    scale: .9
  }

  50% {
    box-shadow: 0 0 0 2px #000;
    scale: 1
  }
}

@keyframes backdropFilter {
  from {
    backdrop-filter: brightness(1)
  }

  to {
    backdrop-filter: brightness(.75)
  }
}

@keyframes fadeOut {
  from {
    opacity: 1
  }

  to {
    opacity: 0
  }
}

@keyframes fadeIn {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes modalSlideInTop {
  from {
    transform: translateY(var(--padding-sm));
    opacity: 0
  }

  to {
    transform: translateY(0);
    opacity: 1
  }
}

@keyframes modalSlideOutTop {
  from {
    transform: translateY(0);
    opacity: 1
  }

  to {
    transform: translateY(var(--padding-sm));
    opacity: 0
  }
}

.bubble {
  display: inline-flex;
  height: calc(var(--variant-picker-swatch-height) / 1.5);
  font-size: var(--font-size--xs);
  border-radius: 20px;
  min-width: 20px;
  padding: 0 6px;
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10-25));
  color: var(--color-foreground);
  align-items: center;
  justify-content: center
}

.bubble svg {
  width: 12px;
  height: 12px
}

.top-shadow::before {
  content: '';
  box-shadow: 0 0 10px var(--color-shadow);
  position: absolute;
  z-index: var(--layer-lowest);
  inset: 0;
  clip-path: inset(-50px 0 0 0)
}

@media (min-width:750px) {
  .top-shadow--mobile::before {
    display: none
  }
}

.bottom-shadow::before {
  content: '';
  box-shadow: 0 0 10px var(--color-shadow);
  position: absolute;
  z-index: var(--layer-lowest);
  inset: 0;
  clip-path: inset(0 0 -50px 0)
}

@media (min-width:750px) {
  .bottom-shadow--mobile::before {
    display: none
  }
}

.video-placeholder-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  aspect-ratio: var(--size-style-aspect-ratio, auto)
}

:not(deferred-media)>.video-placeholder-wrapper {
  width: var(--video-placeholder-width)
}

.video-placeholder-wrapper>* {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center
}

slideshow-component {
  --cursor: grab;
  position: relative;
  display: flex;
  flex-direction: column;
  timeline-scope: var(--slideshow-timeline)
}

.slideshow--single-media {
  --cursor: default
}

a slideshow-component {
  --cursor: pointer
}

slideshow-slides {
  width: 100%;
  position: relative;
  display: flex;
  overflow-x: scroll;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-color: #fff0 #fff0;
  scrollbar-width: none;
  gap: var(--slideshow-gap, 0);
  cursor: var(--cursor);

  @media (prefers-reduced-motion) {
    scroll-behavior: auto
  }

  &::-webkit-scrollbar {
    width: 0
  }

  &::-webkit-scrollbar-track {
    background: #fff0
  }

  &::-webkit-scrollbar-thumb {
    background: #fff0;
    border: none
  }

  &[size='small'] {
    min-height: 17.5rem
  }

  &[size='medium'] {
    min-height: 21.25rem
  }

  &[size='large'] {
    min-height: 25rem
  }

  @media screen and (min-width:750px) {
    &[size='small'] {
      min-height: 26.25rem
    }

    &[size='medium'] {
      min-height: 35rem
    }

    &[size='large'] {
      min-height: 45rem
    }
  }
}

slideshow-component[disabled='true'] slideshow-slides {
  overflow: hidden
}

slideshow-component[mobile-disabled] slideshow-slides {
  @media screen and (max-width:749px) {
    overflow: hidden
  }
}

slideshow-slide {
  position: relative;
  scroll-snap-align: start;
  width: var(--slide-width, 100%);
  max-height: 100%;
  flex-shrink: 0;
  view-timeline-axis: inline;
  content-visibility: auto;
  contain-intrinsic-size: auto none;

  slideshow-component[actioned] &,
  &[aria-hidden='false'] {
    content-visibility: visible
  }

  slideshow-component slideshow-slide:not([aria-hidden='false']) {
    content-visibility: hidden
  }

  &[hidden]:not([reveal]) {
    display: none
  }
}

slideshow-slide.product-media-container--tallest {
  content-visibility: visible
}

@media screen and (max-width:749px) {
  .media-gallery--hint :is(slideshow-slide:has(+slideshow-slide[aria-hidden='false']:last-of-type), slideshow-slide[aria-hidden='false']+slideshow-slide) {
    content-visibility: auto;

    slideshow-component[actioned] & {
      content-visibility: visible
    }
  }
}

:is(.resource-list__carousel, .card-gallery) :is(slideshow-slide:has(+slideshow-slide[aria-hidden='false']), slideshow-slide[aria-hidden='false']+slideshow-slide) {
  content-visibility: auto;

  slideshow-component[actioned] & {
    content-visibility: visible
  }
}

slideshow-component:is([dragging], [transitioning], :hover)>slideshow-container>slideshow-slides>slideshow-slide {
  content-visibility: visible
}

slideshow-slides[gutters*='start'] {
  padding-inline-start: var(--gutter-slide-width, 0);
  scroll-padding-inline-start: var(--gutter-slide-width, 0)
}

slideshow-slides[gutters*='end'] {
  padding-inline-end: var(--gutter-slide-width, 0)
}

slideshow-component[dragging] {
  --cursor: grabbing;

  * {
    pointer-events: none
  }
}

slideshow-component[dragging] slideshow-arrows {
  display: none
}

slideshow-container {
  width: 100%;
  display: block;
  position: relative;
  grid-area: container;
  container-type: inline-size
}

slideshow-controls {
  flex-shrink: 0;
  display: flex;
  justify-content: space-between;
  scrollbar-width: none;
  min-height: var(--minimum-touch-target);
  grid-area: controls;

  &[controls-on-media] {
    position: absolute;
    bottom: 0
  }
}

slideshow-controls::-webkit-scrollbar {
  display: none
}

slideshow-controls button {
  --color: rgb(var(--color-foreground-rgb) / var(--opacity-30));
  --color-active: var(--color-foreground);
  --color-hover: rgb(var(--color-foreground-rgb) / var(--opacity-50));
  display: inline-block;
  height: var(--minimum-touch-target);
  width: var(--minimum-touch-target);
  cursor: pointer
}

slideshow-controls .icon {
  width: var(--icon-size-sm);
  height: var(--icon-size-xs)
}

slideshow-controls[pagination-position='center'] {
  align-items: center;
  justify-content: center
}

slideshow-controls[pagination-position='center'][thumbnails] {
  width: 100%
}

slideshow-controls[pagination-position='center']:not([controls-on-media], [thumbnails], [icons-on-media]) {
  justify-content: space-between
}

slideshow-component:has(slideshow-controls[thumbnails]) {
  &:has(slideshow-controls[pagination-position='right']) {
    display: grid;
    grid-template: 'container controls'auto 'arrows controls'min-content / 1fr auto
  }

  &:has(slideshow-controls[pagination-position='left']) {
    display: grid;
    grid-template: 'controls container'auto 'controls arrows'min-content / auto 1fr
  }

  slideshow-controls[pagination-position='left'] {
    order: -1
  }
}

slideshow-controls[thumbnails]:is([pagination-position='right'], [pagination-position='left']) {
  display: flex;
  flex-direction: column;
  height: 0;
  min-height: 100%;

  .slideshow-controls__thumbnails-container {
    overflow: hidden auto
  }

  &:not([controls-on-media]) {
    .slideshow-controls__thumbnails-container {
      position: sticky;
      top: var(--sticky-header-offset, 0)
    }

    .slideshow-controls__thumbnails {
      padding-block-start: var(--focus-outline-offset)
    }
  }
}

slideshow-controls:not([controls-on-media])[icons-on-media] {
  &[pagination-position='right'] {
    justify-content: flex-end
  }

  &[pagination-position='left'] {
    justify-content: flex-start
  }
}

slideshow-controls:not([controls-on-media]):is([pagination-position='left'], [pagination-position='right']) .slideshow-controls__thumbnails {
  padding-block: var(--padding-2xs)
}

slideshow-controls:not([controls-on-media]) {
  &:is([pagination-position='right']) {
    .slideshow-controls__thumbnails {
      padding-inline-end: var(--slideshow-thumbnails-padding-inline, var(--focus-outline-offset))
    }
  }

  &:is([pagination-position='left']) {
    .slideshow-controls__thumbnails {
      padding-inline-start: var(--slideshow-thumbnails-padding-inline, var(--focus-outline-offset))
    }
  }
}

slideshow-controls[controls-on-media] {
  z-index: var(--layer-raised);

  &:has(.slideshow-controls__dots, .slideshow-controls__counter) {
    --color-foreground: #fff;
    --color-foreground-rgb: var(--color-white-rgb)
  }

  &[pagination-position='right'] {
    right: 0
  }

  &[pagination-position='left'] {
    left: 0
  }

  &[pagination-position='center'] {
    width: 100%
  }

  &:not([thumbnails])[pagination-position='left'] {
    width: fit-content;
    align-self: flex-start
  }

  &:not([thumbnails])[pagination-position='right'] {
    width: fit-content;
    align-self: flex-end
  }
}

slideshow-controls:is([pagination-position='right'], [pagination-position='left']) {
  .slideshow-controls__thumbnails {
    flex-direction: column
  }
}

.slideshow-controls__arrows {
  display: flex;
  justify-content: space-between;
  height: var(--minimum-touch-target);
  grid-area: arrows;

  button {
    padding: 0 var(--padding-xs)
  }
}

.slideshow-controls__dots,
.slideshow-controls__counter {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  list-style: none;

  button {
    --color: rgb(var(--color-foreground-rgb) / var(--opacity-30));
    --color-active: var(--color-foreground);
    --color-hover: rgb(var(--color-foreground-rgb) / var(--opacity-50))
  }
}

slideshow-controls:has(.slideshow-controls__dots),
slideshow-component[autoplay] slideshow-controls {
  mix-blend-mode: difference
}

.slideshow-controls__dots {
  gap: .6rem;
  padding: var(--padding-sm) var(--padding-lg);
  border-radius: 3rem;
  overflow: hidden;

  button {
    --size: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(var(--size) * 2);
    height: calc(var(--size) * 2);
    margin: calc(var(--size) / -2);
    font-size: 0;
    border-radius: calc(var(--size));

    &::after {
      content: '';
      display: block;
      background-color: var(--color);
      height: var(--size);
      width: var(--size);
      border-radius: calc(var(--size) / 2);

      @supports not (view-timeline-axis:inline) {
        &[aria-selected='true'] {
          --color: var(--color-active)
        }
      }

      &:hover {
        --color: var(--color-hover)
      }
    }

    &[aria-selected='true'] {
      --color: var(--color-active)
    }
  }
}

.slideshow-controls__dots,
.slideshow-controls__counter {
  &:only-child {
    margin-inline: auto
  }
}

.slideshow-controls__counter {
  color: var(--color-foreground);
  background-color: rgb(0 0 0 / 40%);
  width: auto;
  border-radius: 2rem;
  padding: .3rem var(--padding-sm);
  margin-inline: var(--margin-sm);
  backdrop-filter: blur(10px);
  font-variant-numeric: tabular-nums;
  font-size: var(--font-size--xs);

  .slash {
    color: rgb(var(--color-foreground-rgb) / var(--opacity-40));
    padding-inline: var(--padding-2xs);
    margin-block-start: -.1rem
  }
}

.slideshow-control[disabled] {
  opacity: .5;
  cursor: not-allowed
}

.slideshow-control--large .icon-caret {
  --icon-stroke-width: 1px
}

.svg-wrapper,
svg {
  width: var(--slideshow-controls-icon);
  height: var(--slideshow-controls-icon)
}
}

.button-unstyled.slideshow-control.slideshow-control--shape-square,
.button-unstyled.slideshow-control.slideshow-control--shape-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  background-color: var(--color-primary-button-background);
  color: var(--color-primary-button-text)
}

.button-unstyled.slideshow-control.slideshow-control--shape-circle {
  border-radius: 50%
}

.button-unstyled.slideshow-control.slideshow-control--shape-square {
  border-radius: 0
}

.slideshow-control .icon-caret {
  rotate: -90deg
}

.slideshow-controls__thumbnails-container {
  display: flex;
  width: 100%;
  max-height: 100%;
  overflow-x: scroll;
  scrollbar-width: none
}

.slideshow-controls__thumbnails {
  display: inline-flex;
  padding-inline: var(--slideshow-thumbnails-padding-inline, var(--padding-sm));
  padding-block: var(--slideshow-thumbnails-padding-block, var(--padding-sm));
  gap: var(--gap-xs);
  margin-inline: auto;
  height: fit-content;

  .slideshow-control {
    border-radius: var(--media-radius);
    width: clamp(44px, 7vw, var(--thumbnail-width));
    height: auto;
    aspect-ratio: var(--aspect-ratio);

    img {
      height: 100%;
      object-fit: cover;
      border-radius: var(--media-radius)
    }

    &:is([aria-selected='true']) {
      outline: var(--focus-outline-width) solid currentcolor;
      outline-offset: calc(var(--focus-outline-offset) / 2);
      border: var(--style-border-width) solid rgb(var(--color-border-rgb) / var(--media-border-opacity))
    }
  }
}

.slideshow-controls__thumbnail {
  position: relative
}

.slideshow-controls__thumbnail-badge {
  position: absolute;
  top: var(--padding-2xs);
  right: var(--padding-2xs);
  width: clamp(16px, 10%, 20px);
  height: clamp(16px, 10%, 20px);
  background-color: var(--color-background);
  border-radius: var(--style-border-radius-xs);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0 1px rgb(var(--color-foreground-rgb) / var(--opacity-5))
}

.slideshow-controls__thumbnail-badge svg {
  width: 60%;
  height: 60%;
  fill: var(--color-foreground);
  opacity: .6
}

.slideshow-control:is(.icon-pause, .icon-play) {
  color: var(--color-active);

  &:hover {
    color: var(--color-hover)
  }

  svg {
    display: none
  }
}

slideshow-component:is([autoplay]) {
  &:is([paused]) {
    .icon-play>svg {
      display: block
    }
  }

  &:not([paused]) {
    .icon-pause>svg {
      display: block
    }
  }
}

slideshow-arrows {
  --cursor-previous: w-resize;
  --cursor-next: e-resize;
  position: absolute;
  inset: 0;
  display: flex;
  z-index: var(--layer-heightened);
  pointer-events: none;
  mix-blend-mode: difference;
  align-items: flex-end;

  &[position='left'] {
    justify-content: flex-start;
    padding-inline: var(--padding-xs)
  }

  &[position='right'] {
    justify-content: flex-end;
    padding-inline: var(--padding-xs)
  }

  &[position='center'] {
    justify-content: space-between;
    align-items: center
  }
}

slideshow-arrows:has(.slideshow-control--shape-square),
slideshow-arrows:has(.slideshow-control--shape-circle) {
  mix-blend-mode: normal
}

slideshow-component[disabled='true'] slideshow-arrows {
  display: none
}

slideshow-arrows .slideshow-control {
  pointer-events: auto;
  opacity: 0;
  min-height: var(--minimum-touch-target);
  padding: 0 var(--padding-xs);
  color: var(--color-white)
}

slideshow-arrows .slideshow-control.slideshow-control--style-none {
  display: none
}

.media-gallery--carousel slideshow-arrows .slideshow-control {
  padding-inline: 0 var(--padding-md)
}
