* {
  box-sizing: border-box;
}

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);
  --submenu-animation-speed: 360ms;
  --submenu-animation-easing: cubic-bezier(0.25, 0.1, 0.25, 1);
}

html {
  /* Firefox */
  scrollbar-width: thin;
  scrollbar-color: rgb(var(--color-foreground-rgb) / var(--opacity-40)) var(--color-background);
  scroll-behavior: smooth;
}

@media (min-width: 990px) {
  html:has(.page-wrapper),
  html:has(.page-wrapper) body {
    height: 100dvh;
    overflow: hidden;
  }
}

html[scroll-lock],
html[scroll-lock] .page-wrapper {
  overflow: hidden;
}

.page-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
  transition: margin-right var(--animation-speed) var(--animation-timing-fade-out);
}

@media (min-width: 990px) {
  .page-wrapper {
    height: 100dvh;
    overflow-y: auto;
    scroll-behavior: smooth;
    scrollbar-width: thin;
    scrollbar-color: rgb(var(--color-foreground-rgb) / var(--opacity-40)) var(--color-background);
  }

  .page-wrapper--drawer-open shopify-account::part(dialog) {
    translate: calc(-1 * var(--theme-drawer-width, var(--sidebar-width)));
  }
}

.page-wrapper--drawer-open {
  margin-right: var(--theme-drawer-width, var(--sidebar-width));
  transition-timing-function: var(--animation-timing-fade-in);
}

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

img {
  width: 100%;
  height: auto;
}

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

/** override ios and firefox defaults */
select {
  background-color: var(--color-background);
  color: currentcolor;
}

.product-card,
.collection-card,
.predictive-search-results__card--product,
.predictive-search-results__card {
  position: relative;
  transition: transform var(--hover-transition-duration) var(--hover-transition-timing),
    box-shadow var(--hover-transition-duration) var(--hover-transition-timing);
  z-index: var(--layer-flat);
}

.product-card__link {
  position: absolute;
  inset: 0;
}

.product-card__content {
  position: relative;
}

.product-card__content {
  cursor: pointer;
}

@media (any-pointer: fine) and (prefers-reduced-motion: no-preference) {
  .card-hover-effect-lift .product-card:hover,
  .card-hover-effect-lift .collection-card:hover,
  .card-hover-effect-lift .predictive-search-results__card:hover {
    transform: translateY(calc(-1 * var(--hover-lift-amount)));
  }

  .card-hover-effect-scale .product-card:hover,
  .card-hover-effect-scale .collection-card:hover,
  .card-hover-effect-scale .predictive-search-results__card:hover {
    transform: scale(var(--hover-scale-amount));
  }

  .card-hover-effect-subtle-zoom .card-gallery,
  .card-hover-effect-subtle-zoom .collection-card__image,
  .card-hover-effect-subtle-zoom .product-card__image {
    overflow: hidden;
    transition: transform var(--hover-transition-duration) var(--hover-transition-timing);
  }

  .card-hover-effect-subtle-zoom .product-card:hover .card-gallery,
  .card-hover-effect-subtle-zoom .collection-card:hover .collection-card__image,
  .card-hover-effect-subtle-zoom .product-card:hover .product-card__image,
  .card-hover-effect-subtle-zoom .predictive-search-results__card:hover {
    transform: scale(var(--hover-subtle-zoom-amount));
  }
}

dialog {
  /* the ::backdrop inherits from the originating element, custom properties must be set on the dialog element */
  --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;
}

/* Remove bottom margin from last text item, or previous to last if the last is empty */
: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;
}

/* view transitions */

/*
 * The cross-document (MPA) opt-in `@view-transition { navigation: auto }` is declared per-layout
 * (layout/theme.liquid and layout/password.liquid), because this stylesheet is shared by both layouts
 * and a static stylesheet can't read theme settings.
 * It is gated on the same `settings.page_transition_enabled or settings.transition_to_main_product` condition as the
 * render blocker, so the opt-in and its opt-out switch can never disagree. The rules below only
 * take effect once an `@view-transition` opt-in is active, so they are inert without it.
 */
@media (prefers-reduced-motion: no-preference) {
  /* Keep page interactive while view transitions are running */
  :root {
    view-transition-name: none;
  }

  /* Have the root transition during page navigation */
  html:active-view-transition-type(page-navigation),
  html:active-view-transition-type(product-image-transition) {
    view-transition-name: root-custom;
  }

  ::view-transition {
    pointer-events: none;
  }

  html:active-view-transition-type(page-navigation) main[data-page-transition-enabled='true'] {
    view-transition-name: main-content;
  }

  html:active-view-transition-type(page-navigation) main[data-product-transition='true'][data-template*='product'] {
    view-transition-name: none;
  }

  ::view-transition-old(main-content) {
    animation: var(--view-transition-old-main-content);
  }

  ::view-transition-new(main-content) {
    animation: var(--view-transition-new-main-content);
  }

  html:active-view-transition-type(product-image-transition) {
    [data-view-transition-type='product-image-transition'] {
      view-transition-name: product-image-transition;
    }

    [data-view-transition-type='product-details'] {
      view-transition-name: product-details;
    }
  }

  ::view-transition-group(product-image-transition) {
    z-index: 1;
  }

  ::view-transition-group(product-image-transition),
  ::view-transition-group(product-details) {
    animation-duration: var(--animation-speed);
    animation-timing-function: var(--animation-easing);
  }

  ::view-transition-old(product-image-transition),
  ::view-transition-new(product-image-transition) {
    block-size: 100%;
    overflow: hidden;
    object-fit: cover;
    animation-duration: 0.25s;
    animation-timing-function: var(--animation-easing);
  }

  ::view-transition-new(product-details) {
    animation: var(--view-transition-new-main-content);
  }
}

/* Focus */
*: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);
}

/* Layout */
.content-for-layout {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.content-for-layout > .shopify-section:last-child {
  flex-grow: 1;
}

/* Set up page widths & margins */
.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 {
  /* NOTE: This results in a page width of 2400px because of how we set up margins with grid */
  --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 {
  /* NOTE: This results in a page width of 1400px because of how we set up margins with grid */
  --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 width full vs. page
   The reason we use a grid to contain the section is to allow for the section to have a
   full-width background image even if the section content is constrained by the page width. Do not try
   to rewrite this to max-width: --page-width; margin: 0 auto;, it doesn't work. */
.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);

  /* Utility variable gives the grid's first column width. Provides an offset width for components like carousels */
  --util-page-margin-offset: max(
    var(--page-margin),
    calc((100% - min(var(--page-content-width), 100% - var(--page-margin) * 2)) / 2)
  );

  /* Offset for full-width sections to account for the page margin,
  used for Marquee — note that --util-page-margin-offset doesn't work here */
  --full-page-margin-inline-offset: calc(((100vw - var(--full-page-grid-central-column-width)) / 2) * -1);

  width: 100%;

  /* This is required to make background images work, which are <img> rendered absolutely */
  position: relative;

  /* Set up the grid */
  display: grid;
  grid-template-columns: var(--full-page-grid-with-margins);
  min-height: var(--section-min-height, 'auto');
}

/* Place all direct children in the center column by default */
.section > * {
  grid-column: 2;
}

/* Make the actual section background transparent, and instead apply it to a separate sibling element to enable stacking with hero shadow  */
.shopify-section:not(.header-section) :is(.section, .cart-summary) {
  background: transparent;
}

.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);
  background-color: var(--color-background);
}

/* For page-width sections, all content goes in the center column */
.section--page-width > * {
  grid-column: 2;
}

/* For full-width sections, content spans all columns */
.section--full-width > * {
  grid-column: 1 / -1;
}

@media screen and (max-width: 749px) {
  .section--mobile-full-width > * {
    grid-column: 1 / -1;
  }
}

/* Some page-width sections should still extend all the way to the right edge of the page, e.g. collection carousel */
.section--page-width.section--full-width-right > * {
  grid-column: 2 / 4;
}

/* For full-width sections with margin, content still spans full width but with space on the sides */
.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);
  }
}

/* Some section content break out to full width of the page */
.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%;
}

/* Utility */

.hidden {
  /* stylelint-disable-next-line declaration-no-important */
  display: none !important;
}

@media screen and (max-width: 749px) {
  .hidden--mobile,
  .mobile\:hidden {
    /* stylelint-disable-next-line declaration-no-important */
    display: none !important;
  }
}

@media screen and (min-width: 750px) {
  .hidden--desktop,
  .desktop\:hidden {
    /* stylelint-disable-next-line declaration-no-important */
    display: none !important;
  }
}

.hide-when-empty:empty {
  /* stylelint-disable-next-line declaration-no-important */
  display: none !important;
}

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

.contents {
  display: contents;
}

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

.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;
}

.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;
}

/* Icons */
.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);
}

.icon-default {
  fill: currentColor;
}

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

/* Base text and heading styles */
body,
.paragraph:not(.button),
.paragraph > *,
.text-block.paragraph :is(h1, h2, h3, h4, h5, h6) {
  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));
}

/* Ensure inputs with type presets maintain minimum 16px on mobile to prevent iOS zoom */
@media screen and (max-width: 1200px) {
  input.paragraph.paragraph,
  input.paragraph.paragraph:not([type]),
  textarea.paragraph.paragraph,
  select.paragraph.paragraph {
    font-size: max(1rem, var(--font-paragraph--size));
  }
}

.paragraph > small {
  font-size: smaller;
}

/* Typography presets */

h1,
.h1.h1,
.text-block.h1 > *,
.text-block.h1 :is(h1, h2, h3, h4, h5, h6) {
  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);
}

@media screen and (max-width: 1200px) {
  input.h1.h1,
  textarea.h1.h1,
  select.h1.h1 {
    font-size: max(1rem, var(--font-h1--size));
  }
}

h2,
.h2.h2,
.text-block.h2 > *,
.text-block.h2 :is(h1, h2, h3, h4, h5, h6) {
  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);
}

@media screen and (max-width: 1200px) {
  input.h2.h2,
  textarea.h2.h2,
  select.h2.h2 {
    font-size: max(1rem, var(--font-h2--size));
  }
}

h3,
.h3,
.h3.h3,
.text-block.h3 > *,
.text-block.h3 :is(h1, h2, h3, h4, h5, h6) {
  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);
}

@media screen and (max-width: 1200px) {
  input.h3,
  textarea.h3,
  select.h3 {
    font-size: max(1rem, var(--font-h3--size));
  }
}

h4,
.h4.h4,
.text-block.h4 > *,
.text-block.h4 :is(h1, h2, h3, h4, h5, h6) {
  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);
}

@media screen and (max-width: 1200px) {
  input.h4.h4,
  textarea.h4.h4,
  select.h4.h4 {
    font-size: max(1rem, var(--font-h4--size));
  }
}

h5,
.h5.h5,
.text-block.h5 > *,
.text-block.h5 :is(h1, h2, h3, h4, h5, h6) {
  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);
}

@media screen and (max-width: 1200px) {
  input.h5.h5,
  textarea.h5.h5,
  select.h5.h5 {
    font-size: max(1rem, var(--font-h5--size));
  }
}

h6,
.h6.h6,
.text-block.h6 > *,
.text-block.h6 :is(h1, h2, h3, h4, h5, 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);
}

@media screen and (max-width: 1200px) {
  input.h6.h6,
  textarea.h6.h6,
  select.h6.h6 {
    font-size: max(1rem, var(--font-h6--size));
  }
}

: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;
}

/* Links */
a {
  color: currentcolor;
  text-decoration-color: transparent;
  text-decoration-thickness: 0.075em;
  text-underline-offset: 0.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 {
  color: rgb(var(--color-rgb, var(--color-foreground-rgb)) / 0.7);
}

/* Add underline to text using our paragraph styles only. */
p:not(.h1, .h2, .h3, .h4, .h5, .h6) a:where(:not(.button, .button-secondary)),
.rte :is(p, ul, ol, table):not(.h1, .h2, .h3, .h4, .h5, .h6) a:where(:not(.button, .button-secondary)) {
  text-decoration-color: currentcolor;

  &:hover {
    text-decoration-color: currentcolor;
    color: rgb(var(--color-rgb, var(--color-foreground-rgb)) / 0.7);
  }
}

.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);
}

/* iOS fix: hide the default arrow on the summary */
summary::-webkit-details-marker {
  display: none;
}

/* When header is transparent, pull the first main content section up to sit under the floating header */
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 > .header-section {
  z-index: var(--layer-menu-drawer);
}

/* All other header group content should be beneath the floating header,
but above the rest of the page content */
body:has(.header[transparent]) #header-group > *:not(.header-section) {
  z-index: calc(var(--layer-menu-drawer) - 1);
}

.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;
}

/* This is to deal with the margin applied to the p when custom styles are enabled. The p isn't the first child anymore due to the style tag */
.text-block > style + * {
  margin-block-start: 0;
}

/* Dialog */
.dialog-modal {
  border: none;
  box-shadow: var(--shadow-popover);

  @media screen and (min-width: 750px) {
    border-radius: var(--style-border-radius-popover);
    max-width: var(--normal-content-width);
  }

  @media screen and (max-width: 749px) {
    max-width: 100%;
    max-height: 100%;
    height: 100dvh;
    width: 100dvw;
    padding: var(--padding-md);
  }
}

.dialog-modal::backdrop {
  transition: backdrop-filter var(--animation-speed) var(--animation-easing);
  backdrop-filter: brightness(1);
  background: rgb(var(--backdrop-color-rgb) / var(--backdrop-opacity));
}

.dialog-modal[open] {
  animation: elementSlideInTop var(--animation-speed) var(--animation-easing) forwards;

  &::backdrop {
    animation: backdropFilter var(--animation-speed) var(--animation-easing) forwards;
    transition: opacity var(--animation-speed) var(--animation-easing);
  }
}

.dialog-modal.dialog-closing {
  animation: elementSlideOutTop var(--animation-speed) var(--animation-easing) forwards;

  &::backdrop {
    opacity: 0;
  }
}

/* stylelint-disable value-keyword-case */
.dialog-drawer {
  --dialog-drawer-opening-animation: move-and-fade;
  --dialog-drawer-closing-animation: move-and-fade;
}

.dialog-drawer--right {
  --dialog-drawer-opening-animation: move-and-fade;
  --dialog-drawer-closing-animation: move-and-fade;
}
/* stylelint-enable value-keyword-case */

.dialog-drawer[open] {
  --start-x: var(--custom-transform-from, 100%);
  --end-x: var(--custom-transform-to, 0px);
  --start-opacity: 1;

  animation: var(--dialog-drawer-opening-animation) var(--animation-speed) var(--animation-easing) forwards;
}

.dialog-drawer[open].dialog-closing {
  --start-x: 0px;
  --end-x: 100%;
  --start-opacity: 1;
  --end-opacity: 1;

  animation: var(--dialog-drawer-closing-animation) var(--animation-speed) var(--animation-easing);
}

.dialog-drawer--right[open] {
  --start-x: -100%;
  --start-opacity: 1;
}

.dialog-drawer--right[open].dialog-closing {
  --start-x: 0px;
  --end-x: -100%;
  --start-opacity: 1;
  --end-opacity: 1;

  animation: var(--dialog-drawer-closing-animation) var(--animation-speed) var(--animation-easing);
}

/* Buttons */
.button,
.button-secondary,
.button-custom,
button.shopify-payment-button__button--unbranded {
  --text-align: center;

  display: grid;
  align-content: center;
  text-decoration: none;
  text-align: var(--text-align);
  color: var(--button-color);
  appearance: none;
  background-color: var(--button-background-color);
  border: none;
  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);
  margin-block: 0;
  transition: color var(--animation-speed) var(--animation-easing),
    box-shadow var(--animation-speed) var(--animation-easing),
    background-color var(--animation-speed) var(--animation-easing);
  cursor: pointer;
  width: fit-content;
  box-shadow: inset 0 0 0 var(--button-border-width) var(--button-border-color);
  padding-block: var(--button-padding-block);
  padding-inline: var(--button-padding-inline);
}

.button {
  font-family: var(--button-font-family-primary);
  text-transform: var(--button-text-case-primary);
  border-radius: var(--style-border-radius-buttons-primary);
}

.button:not(.button-secondary, .button-unstyled) {
  outline-color: var(--button-focus-outline-color, var(--button-background-color));
}

.button-secondary {
  font-family: var(--button-font-family-secondary);
  text-transform: var(--button-text-case-secondary);
  border-radius: var(--style-border-radius-buttons-secondary);
}

button.shopify-payment-button__button--unbranded {
  font-family: var(--button-font-family-primary);
  text-transform: var(--button-text-case-primary);
}

textarea,
input:not([type='checkbox'], [type='radio']) {
  background-color: var(--color-input-background);
  border-color: var(--color-input-border);
}

textarea::placeholder,
input::placeholder {
  color: rgb(var(--color-input-text-rgb) / var(--opacity-muted-text));
}

textarea:not(:placeholder-shown)::placeholder,
input:not(:placeholder-shown)::placeholder {
  opacity: 0;
}

/* The declaration above is messing with buttons that have an attribute of hidden as it overwrites the display value */
.button[hidden] {
  display: none;
}

.button[aria-disabled='true'],
.button-secondary[aria-disabled='true'],
.button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.button,
button.shopify-payment-button__button--unbranded {
  --button-color: var(--color-primary-button-text);
  --button-background-color: var(--color-primary-button-background);
  --button-border-color: var(--color-primary-button-border);
  --button-border-width: var(--style-border-width-primary);
  --button-focus-outline-color: var(--color-primary-button-focus-outline);
}

.button:hover,
button.shopify-payment-button__button--unbranded:hover:not([disabled]) {
  --button-color: var(--color-primary-button-hover-text);
  --button-background-color: var(--color-primary-button-hover-background);
  --button-border-color: var(--color-primary-button-hover-border);
}

.button-secondary {
  --button-color: var(--color-secondary-button-text);
  --button-background-color: var(--color-secondary-button-background);
  --button-border-color: var(--color-secondary-button-border);
  --button-border-width: var(--style-border-width-secondary);
}

.button-secondary:hover {
  --button-color: var(--color-secondary-button-hover-text);
  --button-background-color: var(--color-secondary-button-hover-background);
  --button-border-color: var(--color-secondary-button-hover-border);
}

.button-custom {
  --button-color: var(--color-primary-button-text);
  --button-background-color: var(--color-primary-button-background);
  --button-border-color: var(--color-primary-button-border);
  --button-border-width: var(--style-border-width-secondary);
  --button-focus-outline-color: var(--color-primary-button-focus-outline);

  font-family: var(--button-font-family-primary);
  text-transform: var(--button-text-case-primary);
  border-radius: var(--style-border-radius-buttons-primary);
  outline-color: var(--button-focus-outline-color, var(--button-background-color));
}

.button-custom:hover {
  --button-color: var(--color-primary-button-hover-text);
  --button-background-color: var(--color-primary-button-hover-background);
  --button-border-color: var(--color-primary-button-hover-border);
}

/* Needed to override the default Shopify styles */
button.shopify-payment-button__button--unbranded:hover:not([disabled]) {
  background-color: var(--button-background-color);
}

.button-unstyled {
  display: block;
  padding: 0;
  background-color: inherit;
  color: var(--color-foreground);
  border: 0;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
  font-family: var(--font-paragraph--family);
  font-style: var(--font-paragraph--style);
  font-size: var(--font-paragraph--size);
}

.button-unstyled:hover {
  background-color: inherit;
}

/* Default hover dim for link-style buttons, scoped via :where() so component-specific
   hover rules (.facets__clear-all-link, .header-actions__action, etc.) still win. */
:where(.button-unstyled):hover {
  --hover-color-rgb: var(--color-foreground-rgb);

  color: rgb(var(--hover-color-rgb) / var(--opacity-70));
}

.button-unstyled--with-icon {
  color: var(--color-foreground);
  display: flex;
  gap: var(--gap-2xs);
  align-items: center;
}

.button-unstyled--transparent {
  background-color: transparent;
  box-shadow: none;
}

/* Collapsible row */

.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: rgb(var(--color-foreground-rgb) / var(--opacity-80));
}

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);
}

/* Shared plus/minus icon animations */
summary .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 {
  transform: rotate(90deg);
}

details[open] > summary .icon-plus .vertical {
  transform: rotate(90deg);
  opacity: 0;
}

/* Animate the UI elements in only after the view transition is complete */
.close-button {
  position: fixed;
  top: var(--margin-lg);
  right: var(--margin-lg);
  width: var(--minimum-touch-target);
  height: var(--minimum-touch-target);
  z-index: var(--layer-flat);
  background-color: transparent;
  display: flex;
  align-items: center;
  justify-content: center;

  /* For the outline radius */
  border-radius: 50%;
}

/* This triggers iOS < 16.4. The outline bug is not recognized as a lack of @supports */

@supports not (background-color: rgb(from red 150 g b / alpha)) {
  /**
    There is a bug in safari < 16.4 that causes the outline to not follow the elements border radius. This is a workaround.
    Using element selector to increase specificity.
  **/

  .close-button:focus-visible {
    outline: none;
    overflow: visible;
  }

  .close-button:focus-visible::after {
    content: '';
    position: absolute;
    inset: calc(-1 * var(--focus-outline-offset));
    border: var(--focus-outline-width) solid currentColor;
    border-radius: 50%;
    display: inherit;
  }
}

.dialog--closed .close-button {
  animation: elementSlideOutBottom calc(var(--animation-speed) * 0.5) var(--animation-easing) forwards;
}

.close-button:hover {
  background-color: transparent;
  opacity: 0.8;
}

.close-button svg {
  width: var(--icon-size-xs);
  height: var(--icon-size-xs);
}

/* Product media */
.product-media {
  display: flex;
  flex: 1;
}

.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-rgb, var(--color-foreground-rgb)) / var(--opacity-subdued-text));
}

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

.tax-note:empty {
  display: none;
}

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

/* Volume pricing note should match unit-price styling (small, grey text) */
product-price .volume-pricing-note,
product-price.text-block:is(.h1, .h2, .h3, .h4, .h5, .h6) .volume-pricing-note {
  display: block;
  font-family: var(--font-body--family);
  font-weight: normal;
  font-size: var(--font-size--xs);
  line-height: normal;
  letter-spacing: normal;
  text-transform: none;
  color: rgb(var(--color-rgb, var(--color-foreground-rgb)) / var(--opacity-subdued-text));
}

.compare-at-price {
  color: rgb(var(--color-rgb, var(--color-foreground-rgb)) / var(--opacity-subdued-text));
  text-decoration-line: line-through;
  text-decoration-thickness: 1.5px;
  text-decoration-color: rgb(var(--color-rgb, var(--color-foreground-rgb)) / var(--opacity-30));
}

.price-item__group {
  display: inline-block;
}

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

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

  /* Must disable this, when you use these with calc and another unit type, things break — see logo.liquid */
  /* stylelint-disable length-zero-no-unit */
  --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 */
.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 style */
.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(--font-weight);
}

/* Border override style */
.border-style {
  border-width: var(--border-width);
  border-style: var(--border-style);
  border-color: var(--border-color);
  border-radius: var(--border-radius);
}

/* Gap scaling style */
.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%;
}

.shopify-block:has(> [shopify-block-empty]) {
  display: none;
}

.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);
    height: auto;

    > .menu {
      flex: 1 1 min-content;
    }

    > .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;
    }

    > .group-block--height-fill {
      height: calc(var(--section-min-height, auto) - var(--section-height-offset, 0px));
    }
  }
}

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

/* Form fields */
.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:focus {
  box-shadow: var(--input-box-shadow-focus);
}

.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 styles */
.rte,
.shopify-policy__title {
  :is(h1, h2, h3, h4, h5, h6) {
    margin-block: clamp(1.5rem, 1em * 3.3, 2.5rem) var(--font-heading--spacing);
  }

  :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;
  }

  /* Only apply margin-block-end to the higher level list, not nested lists */
  :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: 0.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 {
    /* stylelint-disable-next-line declaration-no-important */
    width: 100% !important;
    border-collapse: collapse;
  }

  tr:not(:has(td)),
  thead {
    background-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
    font-weight: bold;
    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);
}

/* Radio buttons and checkboxes - shared base styles */
:where(input[type='radio']),
:where(input[type='checkbox']) {
  width: var(--checkbox-size);
  height: var(--checkbox-size);
  aspect-ratio: 1;
  margin: 0;
  margin-inline-end: var(--padding-3xs);
  padding: 0;
  border: var(--checkbox-border);
  appearance: none;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
}

/* Radio buttons */
input[type='radio'] {
  border-radius: var(--style-border-radius-50);
  background: transparent;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

:where(input[type='radio']):checked {
  border-color: var(--color-foreground);
  background: var(--color-background);
}

:where(input[type='radio']):checked::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(var(--checkbox-size) / 2);
  height: calc(var(--checkbox-size) / 2);
  background: var(--color-foreground);
  border-radius: var(--style-border-radius-50);
  transition: background 0.2s ease;
}

:where(input[type='radio']):disabled {
  border-color: var(--input-disabled-border-color);
  background-color: var(--input-disabled-background-color);
  cursor: not-allowed;
}

:where(input[type='radio']):disabled:checked::after {
  background: var(--input-disabled-background-color);
}

:where(input[type='radio']):not(:disabled):hover {
  border-color: rgb(var(--color-foreground-rgb) / var(--opacity-40-60));
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
}

:where(input[type='radio']):not(:disabled):hover:checked {
  border-color: var(--color-foreground);
  background-color: var(--color-background);
}

:where(input[type='radio']):not(:disabled):hover:checked::after {
  background: rgb(var(--color-foreground-rgb) / var(--opacity-85));
}

/* Checkboxes */
:where(input[type='checkbox']) {
  border-radius: var(--checkbox-border-radius);
  background-color: var(--color-background);
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

:where(input[type='checkbox']):checked {
  background-color: var(--color-foreground);
  border-color: var(--color-foreground);
}

:where(input[type='checkbox']):checked::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: var(--checkbox-size);
  height: var(--checkbox-size);
  background-color: var(--color-background);
  mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658' stroke='black' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}

:where(input[type='checkbox']):not(:disabled):hover {
  border-color: rgb(var(--color-foreground-rgb) / var(--opacity-40-60));
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
}

:where(input[type='checkbox']):not(:disabled):hover:checked {
  border-color: var(--color-foreground);
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-85));
}

:where(input[type='checkbox']):disabled {
  background-color: var(--input-disabled-background-color);
  border-color: var(--input-disabled-border-color);
  cursor: not-allowed;
}

:where(input[type='checkbox']):disabled:checked::after {
  background-color: var(--input-disabled-text-color);
}

/* Shared styles for radio buttons and checkboxes */
:where(input[type='radio']) + label,
:where(input[type='checkbox']) + label {
  display: inline;
  vertical-align: middle;
  cursor: pointer;
}

:where(input[type='radio']):disabled + label,
:where(input[type='checkbox']):disabled + label {
  color: var(--input-disabled-text-color);
  cursor: not-allowed;
}

/* Flexbox for labels wrapping radio buttons or checkboxes */
label:has(input[type='radio']),
label:has(input[type='checkbox']) {
  display: inline-flex;
  align-items: center;
  gap: var(--padding-2xs);
  cursor: pointer;
}

label:has(input[type='radio']:disabled),
label:has(input[type='checkbox']:disabled) {
  cursor: not-allowed;
}

/* ------------------------------------------------------------------------------ */

/* ------------------------------------------------------------------------------ */

/* Animation declarations - to be kept at the bottom of the file for ease of find */
@keyframes grow {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.2);
  }

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

@keyframes move-and-fade {
  from {
    transform: translate(var(--start-x, 0), var(--start-y, 0));
    opacity: var(--start-opacity, 0);
  }

  to {
    transform: translate(var(--end-x, 0), var(--end-y, 0));
    opacity: var(--end-opacity, 1);
  }
}

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

@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(0.95) translateY(1em);
  }
}

@keyframes thumbnail-selected {
  0%,
  100% {
    box-shadow: 0 0 0 2px transparent;
    scale: 0.9;
  }

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

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

  to {
    backdrop-filter: brightness(0.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;
  }
}

/* Slideshow Arrow Hover Animation - must stay in base.css for proper CSS cascade */
/*
:not(.media-gallery--carousel)
  > :is(slideshow-component:hover, slideshow-component:focus-within):not(:has(slideshow-controls:hover))
  > slideshow-container
  > slideshow-arrows
  .slideshow-control {
  animation: arrowsSlideIn var(--animation-speed) var(--animation-easing) forwards;
}
  */

 slideshow-arrows .slideshow-control {
      animation: arrowsSlideIn var(--animation-speed) var(--animation-easing) forwards;
  }

@keyframes arrowsSlideIn {
  from {
    transform: translate(var(--padding-sm), 0);
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.section-resource-list,
.section-carousel {
  row-gap: var(--gap);
}

.section-resource-list__content {
  display: flex;
  flex-direction: column;
  align-items: var(--horizontal-alignment);
  gap: var(--gap);
  width: 100%;
}

.section-resource-list__content:empty {
  display: none;
}

.section-resource-list__header:is(:empty, :has(.group-block-content:empty)),
.section-resource-list__content:empty {
  display: none;
}

:where(.section-resource-list.section--full-width) product-card[data-product-transition] > .group-block,
:where(.section-carousel.section--full-width) product-card[data-product-transition] > .group-block {
  @media screen and (max-width: 749px) {
    padding-inline: max(var(--padding-xs), var(--padding-inline-start))
      max(var(--padding-xs), var(--padding-inline-end));
  }
}

/* Base styles */
.group-block,
.group-block-content {
  position: relative;
}

.group-block:has(> video-background-component),
.group-block:has(> .background-image-container) {
  overflow: hidden;
}
/*
.group-block-content {
  height: 100%;
  width: 100%;
}
*/
/* Container styles */
.section-content-wrapper.section-content-wrapper:where(.layout-panel-flex) .group-block--fill {
  flex: 1;
}

/* Flex behavior for width variants */
.layout-panel-flex--row > .group-block--width-fit {
  flex: 0;
}

.layout-panel-flex--row > .group-block--width-fill {
  flex: 1;
}

.layout-panel-flex--row > .group-block--width-custom {
  flex-basis: var(--size-style-width);
}

/* Dimension utilities - Height */
.group-block--height-fit {
  height: auto;
}

.group-block--height-custom,
.group-block--height-fill {
  height: var(--size-style-height);
}

/* Flex behavior for height variants */
.layout-panel-flex--column > .group-block--height-fit {
  flex: 0 1 auto;
}

.layout-panel-flex--column > .group-block--height-fill {
  flex: 1;
}

.layout-panel-flex--column > .group-block--height-custom {
  flex-basis: var(--size-style-height);
}

/* Animation transitions */
.transition-background-color {
  transition: background-color var(--animation-speed-medium) ease-in-out;
}

.transition-transform {
  transition: transform var(--animation-speed-medium) var(--animation-timing-bounce);
}

.transition-border-color {
  transition: border-color var(--animation-speed-medium) var(--animation-timing-hover);
}

/* Global scrollbar styles */

/* Webkit browsers */
::-webkit-scrollbar {
  width: 20px;
}

::-webkit-scrollbar-track {
  background-color: transparent;
}

::-webkit-scrollbar-thumb {
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-40));
  border-radius: 20px;
  border: 6px solid transparent;
  background-clip: content-box;
  transition: background-color 0.2s;
}

::-webkit-scrollbar-thumb:hover {
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-60));
}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

.product-card:hover,
.collection-card:hover,
.predictive-search-results__card--product:hover,
.predictive-search-results__card:hover {
  position: relative;
  z-index: var(--layer-raised);
  transition: transform var(--hover-transition-duration) var(--hover-transition-timing),
    box-shadow var(--hover-transition-duration) var(--hover-transition-timing);
}

/* Prevent iOS zoom on input focus by ensuring minimum 16px font size on mobile */
@media screen and (max-width: 1200px) {
  input,
  textarea,
  select,
  /* Higher specificity to override type preset classes like .paragraph, .h1, etc. */
  .paragraph.paragraph input,
  .paragraph.paragraph textarea,
  .paragraph.paragraph select,
  .h1.h1 input,
  .h1.h1 textarea,
  .h1.h1 select,
  .h2.h2 input,
  .h2.h2 textarea,
  .h2.h2 select,
  .h3.h3 input,
  .h3.h3 textarea,
  .h3.h3 select,
  .h4.h4 input,
  .h4.h4 textarea,
  .h4.h4 select,
  .h5.h5 input,
  .h5.h5 textarea,
  .h5.h5 select,
  .h6.h6 input,
  .h6.h6 textarea,
  .h6.h6 select {
    font-size: max(1rem, 100%);
  }
}

/* When the header is transparent, and when there is no header-section below it, offset the first main-section with
 * the height of the header
 */
main > .shopify-section:first-child .section:not(.disable-section-top-offset) {
  &.spacing-style,
  .spacing-style {
    --section-top-offset: calc(var(--header-height) * var(--transparent-header-offset-boolean));

    /* Any nested sections should not be offset */
    :is(.spacing-style, .inherit-spacing) {
      --section-top-offset: 0px;
    }
  }

  /* Make sticky content immediately stick to the top of the page */
  .sticky-content {
    margin-top: calc(var(--header-height) * var(--transparent-header-offset-boolean) * -1);
  }
}

.background-with-white-chair-bg {
  overflow: hidden;
}

.background-with-white-chair-bg:after {
  display: block;
  content: "";
  width: 200px;
  height:300px;
  background-color: #aebfbf;
  mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAggAAAJWCAYAAAA9eH/kAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAydpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDEwLjAtYzAwMCA3OS5kMjBlNDY2MzAsIDIwMjUvMTIvMDktMDI6MTE6MjMgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyNy44IChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyQTk2MUE4MDhGMTQxMUYxOUNDM0UzM0ExM0RGMUYyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyQTk2MUE4MThGMTQxMUYxOUNDM0UzM0ExM0RGMUYyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjJBOTYxQTdFOEYxNDExRjE5Q0MzRTMzQTEzREYxRjI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjJBOTYxQTdGOEYxNDExRjE5Q0MzRTMzQTEzREYxRjI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+wPJGYQAALttJREFUeNrs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);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  position: absolute;
  left: -2rem;
  bottom: -3rem;
  z-index: -1;
}

.topheader-contacts {
  display: flex;
  flex-wrap: wrap;
}

.topheader-contacts .topheader-contact-item:before {
  display: inline-block;
  content:'';
  width: 0.9rem;
  height: 0.9rem;
  margin-right: 0.45rem;
  mask-image:  url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-phone"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path></svg>');
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: #fff;
}
.topheader-contacts .topheader-contact-phone:before {
  mask-image:  url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-phone"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path></svg>');
}

.topheader-contacts .topheader-contact-mail:before {
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23fff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline></svg>');
}

.topheader-contacts .topheader-contact-item {
  display: flex;
  align-items: center;
  margin-right: 0.9rem;
}

.slide__content {
  display: flex;
  align-items: center
}
.slide__content .group-block-content.layout-panel-flex--flex-start {
  align-self: flex-start;
}
.slide__content .group-block-content.layout-panel-flex--flex-end {
  align-self: flex-end;
}
.slide__content .group-block-content {
  max-width: 500px;
  background: rgba(0, 0, 0, 0.65);
  padding: 2rem;
  margin-left: 0;
  height: auto;
  margin: 0;
}

.collection-card.collection-card--image-bg div.collection-card__content {
 padding: 0;
}

slideshow-arrows > button.slideshow-control.slideshow-control--shape-square {
    border-radius: 50px;
    color: #fff;
    background: rgba(110, 110, 110, 0.5);
}
