/** Shopify CDN: Minification failed

Line 17:2 Expected ":"
Line 18:2 Expected ":"
Line 19:2 Expected ":"
Line 20:2 Expected ":"
Line 21:2 Expected ":"
Line 22:2 Expected ":"
Line 23:2 Expected ":"
Line 28:2 Expected ":"
Line 29:2 Expected ":"
Line 30:2 Expected ":"
... and 645 more hidden warnings

**/
:root {
  --alpha-button-background: 1;
  --alpha-button-border: 1;
  --alpha-link: 0.85;
  --alpha-badge-border: 0.1;
  --focused-base-outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  --focused-base-outline-offset: 0.3rem;
  --focused-base-box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
}

.product-card-wrapper .card,
.contains-card--product {
  --border-radius: var(--product-card-corner-radius);
  --border-width: var(--product-card-border-width);
  --border-opacity: var(--product-card-border-opacity);
  --shadow-horizontal-offset: var(--product-card-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--product-card-shadow-vertical-offset);
  --shadow-blur-radius: var(--product-card-shadow-blur-radius);
  --shadow-opacity: var(--product-card-shadow-opacity);
  --shadow-visible: var(--product-card-shadow-visible);
  --image-padding: var(--product-card-image-padding);
  --text-alignment: var(--product-card-text-alignment);
}

.collection-card-wrapper .card,
.contains-card--collection {
  --border-radius: var(--collection-card-corner-radius);
  --border-width: var(--collection-card-border-width);
  --border-opacity: var(--collection-card-border-opacity);
  --shadow-horizontal-offset: var(--collection-card-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--collection-card-shadow-vertical-offset);
  --shadow-blur-radius: var(--collection-card-shadow-blur-radius);
  --shadow-opacity: var(--collection-card-shadow-opacity);
  --shadow-visible: var(--collection-card-shadow-visible);
  --image-padding: var(--collection-card-image-padding);
  --text-alignment: var(--collection-card-text-alignment);
}

.article-card-wrapper .card,
.contains-card--article {
  --border-radius: var(--blog-card-corner-radius);
  --border-width: var(--blog-card-border-width);
  --border-opacity: var(--blog-card-border-opacity);
  --shadow-horizontal-offset: var(--blog-card-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--blog-card-shadow-vertical-offset);
  --shadow-blur-radius: var(--blog-card-shadow-blur-radius);
  --shadow-opacity: var(--blog-card-shadow-opacity);
  --shadow-visible: var(--blog-card-shadow-visible);
  --image-padding: var(--blog-card-image-padding);
  --text-alignment: var(--blog-card-text-alignment);
}

.contains-content-container,
.content-container {
  --border-radius: var(--text-boxes-radius);
  --border-width: var(--text-boxes-border-width);
  --border-opacity: var(--text-boxes-border-opacity);
  --shadow-horizontal-offset: var(--text-boxes-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--text-boxes-shadow-vertical-offset);
  --shadow-blur-radius: var(--text-boxes-shadow-blur-radius);
  --shadow-opacity: var(--text-boxes-shadow-opacity);
  --shadow-visible: var(--text-boxes-shadow-visible);
}

.contains-media,
.global-media-settings {
  --border-radius: var(--media-radius);
  --border-width: var(--media-border-width);
  --border-opacity: var(--media-border-opacity);
  --shadow-horizontal-offset: var(--media-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--media-shadow-vertical-offset);
  --shadow-blur-radius: var(--media-shadow-blur-radius);
  --shadow-opacity: var(--media-shadow-opacity);
  --shadow-visible: var(--media-shadow-visible);
}

/* base */

.page-width {
  max-width: var(--page-width);
  margin: 0 auto;
  padding: 0 1.5rem;
}

body:has(.section-header .drawer-menu) .announcement-bar-section .page-width {
  max-width: 100%;
}

.page-width.drawer-menu {
  max-width: 100%;
}

.page-width-desktop {
  padding: 0;
  margin: 0 auto;
}

.utility-bar__grid.page-width {
  padding-left: 3rem;
  padding-right: 3rem;
}

@media screen and (min-width: 750px) {
  .page-width {
    padding: 0 5rem;
  }

  .header.page-width,
  .utility-bar__grid.page-width {
    padding-left: 3.2rem;
    padding-right: 3.2rem;
  }

  .page-width--narrow {
    padding: 0 9rem;
  }

  .page-width-desktop {
    padding: 0;
  }

  .page-width-tablet {
    padding: 0 5rem;
  }
}

@media screen and (min-width: 990px) {
  .header:not(.drawer-menu).page-width {
    padding-left: 5rem;
    padding-right: 5rem;
  }

  .page-width--narrow {
    max-width: 72.6rem;
    padding: 0;
  }

  .page-width-desktop {
    max-width: var(--page-width);
    padding: 0 5rem;
  }
}

.isolate {
  position: relative;
  z-index: 0;
}

.section + .section {
  margin-top: var(--spacing-sections-mobile);
}

@media screen and (min-width: 750px) {
  .section + .section {
    margin-top: var(--spacing-sections-desktop);
  }
}

.element-margin-top {
  margin-top: 5rem;
}

@media screen and (min-width: 750px) {
  .element-margin {
    margin-top: calc(5rem + var(--page-width-margin));
  }
}

.background-secondary {
  background-color: rgba(var(--color-foreground), 0.04);
}

.grid-auto-flow {
  display: grid;
  grid-auto-flow: column;
}

.page-margin,
.shopify-challenge__container {
  margin: 7rem auto;
}

.rte-width {
  max-width: 82rem;
  margin: 0 auto 2rem;
}

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

.hidden {
  display: none !important;
}

.visually-hidden {
  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;
}

.visually-hidden--inline {
  margin: 0;
  height: 1em;
}

.overflow-hidden {
  overflow: hidden;
}

.skip-to-content-link:focus {
  z-index: 9999;
  position: inherit;
  overflow: auto;
  width: auto;
  height: auto;
  clip: auto;
}

.full-width-link {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}

::selection {
  background-color: rgba(var(--color-foreground), 0.2);
}

.text-body {
  font-size: 1.5rem;
  letter-spacing: 0.06rem;
  line-height: calc(1 + 0.8 / var(--font-body-scale));
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
}

h1,
h2,
h3,
h4,
h5,
.h0,
.h1,
.h2,
.h3,
.h4,
.h5 {
  font-family: var(--font-heading-family);
  font-style: var(--font-heading-style);
  font-weight: var(--font-heading-weight);
  letter-spacing: calc(var(--font-heading-scale) * 0.06rem);
  color: rgb(var(--color-foreground));
  line-height: calc(1 + 0.3 / max(1, var(--font-heading-scale)));
  word-break: break-word;
}

.hxxl {
  font-size: clamp(calc(var(--font-heading-scale) * 5.6rem), 14vw, calc(var(--font-heading-scale) * 7.2rem));
  line-height: 1.1;
}

.hxl {
  font-size: calc(var(--font-heading-scale) * 5rem);
  line-height: calc(1 + 0.3 / max(1, var(--font-heading-scale)));
}

@media only screen and (min-width: 750px) {
  .hxl {
    font-size: calc(var(--font-heading-scale) * 6.2rem);
  }
}

.h0 {
  font-size: calc(var(--font-heading-scale) * 4rem);
}

@media only screen and (min-width: 750px) {
  .h0 {
    font-size: calc(var(--font-heading-scale) * 5.2rem);
  }
}

h1,
.h1 {
  font-size: calc(var(--font-heading-scale) * 3rem);
}

@media only screen and (min-width: 750px) {
  h1,
  .h1 {
    font-size: calc(var(--font-heading-scale) * 4rem);
  }
}

h2,
.h2 {
  font-size: calc(var(--font-heading-scale) * 2rem);
}

@media only screen and (min-width: 750px) {
  h2,
  .h2 {
    font-size: calc(var(--font-heading-scale) * 2.4rem);
  }
}

h3,
.h3 {
  font-size: calc(var(--font-heading-scale) * 1.7rem);
}

@media only screen and (min-width: 750px) {
  h3,
  .h3 {
    font-size: calc(var(--font-heading-scale) * 1.8rem);
  }
}

h4,
.h4 {
  font-family: var(--font-heading-family);
  font-style: var(--font-heading-style);
  font-size: calc(var(--font-heading-scale) * 1.5rem);
}

h5,
.h5 {
  font-size: calc(var(--font-heading-scale) * 1.2rem);
}

@media only screen and (min-width: 750px) {
  h5,
  .h5 {
    font-size: calc(var(--font-heading-scale) * 1.3rem);
  }
}

h6,
.h6 {
  color: rgba(var(--color-foreground), 0.75);
  margin-block-start: 1.67em;
  margin-block-end: 1.67em;
}

blockquote {
  font-style: italic;
  color: rgba(var(--color-foreground), 0.75);
  border-left: 0.2rem solid rgba(var(--color-foreground), 0.2);
  padding-left: 1rem;
}

@media screen and (min-width: 750px) {
  blockquote {
    padding-left: 1.5rem;
  }
}

.caption {
  font-size: 1rem;
  letter-spacing: 0.07rem;
  line-height: calc(1 + 0.7 / var(--font-body-scale));
}

@media screen and (min-width: 750px) {
  .caption {
    font-size: 1.2rem;
  }
}

.caption-with-letter-spacing {
  font-size: 1rem;
  letter-spacing: 0.13rem;
  line-height: calc(1 + 0.2 / var(--font-body-scale));
  text-transform: uppercase;
}

.caption-with-letter-spacing--medium {
  font-size: 1.2rem;
  letter-spacing: 0.16rem;
}

.caption-with-letter-spacing--large {
  font-size: 1.4rem;
  letter-spacing: 0.18rem;
}

.caption-large,
.customer .field input,
.customer select,
.field__input,
.form__label,
.select__select {
  font-size: 1.3rem;
  line-height: calc(1 + 0.5 / var(--font-body-scale));
  letter-spacing: 0.04rem;
}

.color-foreground {
  color: rgb(var(--color-foreground));
}

table:not([class]) {
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 1.4rem;
  border-style: hidden;
  box-shadow: 0 0 0 0.1rem rgba(var(--color-foreground), 0.2);
  /* draws the table border  */
}

table:not([class]) td,
table:not([class]) th {
  padding: 1em;
  border: 0.1rem solid rgba(var(--color-foreground), 0.2);
}

@media screen and (max-width: 749px) {
  .small-hide {
    display: none !important;
  }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .medium-hide {
    display: none !important;
  }
}

@media screen and (min-width: 990px) {
  .large-up-hide {
    display: none !important;
  }
}

.left {
  text-align: left;
}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

.uppercase {
  text-transform: uppercase;
}

.light {
  opacity: 0.7;
}

a:empty,
ul:empty,
dl:empty,
div:empty,
section:empty,
article:empty,
p:empty,
h1:empty,
h2:empty,
h3:empty,
h4:empty,
h5:empty,
h6:empty {
  display: none;
}

.link,
.customer a {
  cursor: pointer;
  display: inline-block;
  border: none;
  box-shadow: none;
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  color: rgb(var(--color-link));
  background-color: transparent;
  font-size: 1.4rem;
  font-family: inherit;
}

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

.link--text:hover {
  color: rgba(var(--color-foreground), 0.75);
}

.link-with-icon {
  display: inline-flex;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.1rem;
  text-decoration: none;
  margin-bottom: 4.5rem;
  white-space: nowrap;
}

.link-with-icon .icon {
  width: 1.5rem;
  margin-left: 1rem;
}

a:not([href]) {
  cursor: not-allowed;
}

.circle-divider::after {
  content: '\2022';
  margin: 0 1.3rem 0 1.5rem;
}

.circle-divider:last-of-type::after {
  display: none;
}

hr {
  border: none;
  height: 0.1rem;
  background-color: rgba(var(--color-foreground), 0.2);
  display: block;
  margin: 5rem 0;
}

@media screen and (min-width: 750px) {
  hr {
    margin: 7rem 0;
  }
}

.full-unstyled-link {
  text-decoration: none;
  color: currentColor;
  display: block;
}

.placeholder {
  background-color: rgba(var(--color-foreground), 0.04);
  color: rgba(var(--color-foreground), 0.55);
  fill: rgba(var(--color-foreground), 0.55);
}

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

.break {
  word-break: break-word;
}

.visibility-hidden {
  visibility: hidden;
}

@media (prefers-reduced-motion) {
  .motion-reduce {
    transition: none !important;
    animation: none !important;
  }
}

:root {
  --duration-short: 100ms;
  --duration-default: 200ms;
  --duration-announcement-bar: 250ms;
  --duration-medium: 300ms;
  --duration-long: 500ms;
  --duration-extra-long: 600ms;
  --duration-extra-longer: 750ms;
  --duration-extended: 3s;
  --ease-out-slow: cubic-bezier(0, 0, 0.3, 1);
  --animation-slide-in: slideIn var(--duration-extra-long) var(--ease-out-slow) forwards;
  --animation-fade-in: fadeIn var(--duration-extra-long) var(--ease-out-slow);
}

.underlined-link,
.customer a,
.inline-richtext a {
  text-underline-offset: 0.3rem;
  text-decoration-thickness: 0.1rem;
  transition: text-decoration-thickness ease 100ms;
}

.underlined-link,
.customer a {
  color: rgba(var(--color-link), var(--alpha-link));
}

.inline-richtext a,
.rte.inline-richtext a {
  color: currentColor;
}

.underlined-link:hover,
.customer a:hover,
.inline-richtext a:hover {
  color: rgb(var(--color-link));
  text-decoration-thickness: 0.2rem;
}

.icon-arrow {
  width: 1.5rem;
}

h3 .icon-arrow,
.h3 .icon-arrow {
  width: calc(var(--font-heading-scale) * 1.5rem);
}

/* arrow animation */
.animate-arrow .icon-arrow path {
  transform: translateX(-0.25rem);
  transition: transform var(--duration-short) ease;
}

.animate-arrow:hover .icon-arrow path {
  transform: translateX(-0.05rem);
}

.svg-wrapper {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
}

.svg-wrapper > svg {
  height: 100%;
  width: 100%;
}

/* base-details-summary */
summary {
  cursor: pointer;
  list-style: none;
  position: relative;
}

summary .icon-caret {
  position: absolute;
  height: 0.6rem;
  right: 1.5rem;
  top: calc(50% - 0.2rem);
}

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

.disclosure-has-popup {
  position: relative;
}

.disclosure-has-popup[open] > summary::before {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: block;
  cursor: default;
  content: ' ';
  background: transparent;
}

.disclosure-has-popup > summary::before {
  display: none;
}

.disclosure-has-popup[open] > summary + * {
  z-index: 100;
}

@media screen and (min-width: 750px) {
  .disclosure-has-popup[open] > summary + * {
    z-index: 4;
  }

  .facets .disclosure-has-popup[open] > summary + * {
    z-index: 2;
  }
}

.placeholder-svg {
  height: 100%;
  width: 100%;
}

/* base-focus */
/*
  Focus ring - default (with offset)
*/

*:focus {
  outline: 0;
  box-shadow: none;
}

*:focus-visible {
  outline: var(--focused-base-outline);
  outline-offset: var(--focused-base-outline-offset);
  box-shadow: var(--focused-base-box-shadow);
}

/* Fallback - for browsers that don't support :focus-visible, a fallback is set for :focus */
.focused {
  outline: var(--focused-base-outline);
  outline-offset: var(--focused-base-outline-offset);
  box-shadow: var(--focused-base-box-shadow);
}

/*
  Focus ring - inset
*/

.focus-inset:focus-visible {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  outline-offset: -0.2rem;
  box-shadow: 0 0 0.2rem 0 rgba(var(--color-foreground), 0.3);
}

.focused.focus-inset {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  outline-offset: -0.2rem;
  box-shadow: 0 0 0.2rem 0 rgba(var(--color-foreground), 0.3);
}

/*
  Focus ring - none
*/

/* Dangerous for a11y - Use with care */
.focus-none {
  box-shadow: none !important;
  outline: 0 !important;
}

.focus-offset:focus-visible {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  outline-offset: 1rem;
  box-shadow: 0 0 0 1rem rgb(var(--color-background)), 0 0 0.2rem 1.2rem rgba(var(--color-foreground), 0.3);
}

.focus-offset.focused {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  outline-offset: 1rem;
  box-shadow: 0 0 0 1rem rgb(var(--color-background)), 0 0 0.2rem 1.2rem rgba(var(--color-foreground), 0.3);
}

/* component-title */
.title,
.title-wrapper-with-link {
  margin: 3rem 0 2rem;
}

.title-wrapper-with-link .title {
  margin: 0;
}

.title .link {
  font-size: inherit;
}

.title-wrapper {
  margin-bottom: 3rem;
}

.title-wrapper-with-link {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  margin-bottom: 3rem;
  flex-wrap: wrap;
}

.title--primary {
  margin: 4rem 0;
}

.title-wrapper--self-padded-tablet-down,
.title-wrapper--self-padded-mobile {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

@media screen and (min-width: 750px) {
  .title-wrapper--self-padded-mobile {
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (min-width: 990px) {
  .title,
  .title-wrapper-with-link {
    margin: 5rem 0 3rem;
  }

  .title--primary {
    margin: 2rem 0;
  }

  .title-wrapper-with-link {
    align-items: center;
  }

  .title-wrapper-with-link .title {
    margin-bottom: 0;
  }

  .title-wrapper--self-padded-tablet-down {
    padding-left: 0;
    padding-right: 0;
  }
}

.title-wrapper-with-link .link-with-icon {
  margin: 0;
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

.title-wrapper-with-link .link-with-icon .svg-wrapper {
  width: 1.5rem;
}

.title-wrapper-with-link a {
  margin-top: 0;
  flex-shrink: 0;
}

.title-wrapper--no-top-margin {
  margin-top: 0;
}

.title-wrapper--no-top-margin > .title {
  margin-top: 0;
}

.subtitle {
  font-size: 1.8rem;
  line-height: calc(1 + 0.8 / var(--font-body-scale));
  letter-spacing: 0.06rem;
  color: rgba(var(--color-foreground), 0.7);
}

.subtitle--small {
  font-size: 1.4rem;
  letter-spacing: 0.1rem;
}

.subtitle--medium {
  font-size: 1.6rem;
  letter-spacing: 0.08rem;
}

/* component-grid */
.grid {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2rem;
  padding: 0;
  list-style: none;
  column-gap: var(--grid-mobile-horizontal-spacing);
  row-gap: var(--grid-mobile-vertical-spacing);
}

@media screen and (min-width: 750px) {
  .grid {
    column-gap: var(--grid-desktop-horizontal-spacing);
    row-gap: var(--grid-desktop-vertical-spacing);
  }
}

.grid:last-child {
  margin-bottom: 0;
}

.grid__item {
  width: calc(25% - var(--grid-mobile-horizontal-spacing) * 3 / 4);
  max-width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2);
  flex-grow: 1;
  flex-shrink: 0;
}

@media screen and (min-width: 750px) {
  .grid__item {
    width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
    max-width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }
}

.grid--gapless.grid {
  column-gap: 0;
  row-gap: 0;
}

@media screen and (max-width: 749px) {
  .grid__item.slider__slide--full-width {
    width: 100%;
    max-width: none;
  }
}

.grid--1-col .grid__item {
  max-width: 100%;
  width: 100%;
}

.grid--3-col .grid__item {
  width: calc(33.33% - var(--grid-mobile-horizontal-spacing) * 2 / 3);
}

@media screen and (min-width: 750px) {
  .grid--3-col .grid__item {
    width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
  }
}

.grid--2-col .grid__item {
  width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2);
}

@media screen and (min-width: 750px) {
  .grid--2-col .grid__item {
    width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }

  .grid--4-col-tablet .grid__item {
    width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
  }

  .grid--3-col-tablet .grid__item {
    width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
  }

  .grid--2-col-tablet .grid__item {
    width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }
}

@media screen and (max-width: 989px) {
  .grid--1-col-tablet-down .grid__item {
    width: 100%;
    max-width: 100%;
  }

  .slider--tablet.grid--peek {
    margin: 0;
    width: 100%;
  }

  .slider--tablet.grid--peek .grid__item {
    box-sizing: content-box;
    margin: 0;
  }

  .slider.slider--tablet .scroll-trigger.animate--slide-in,
  .slider.slider--mobile .scroll-trigger.animate--slide-in {
    animation: none;
    opacity: 1;
    transform: inherit;
  }

  .scroll-trigger:not(.scroll-trigger--offscreen) .slider--tablet {
    animation: var(--animation-slide-in);
  }
}

@media screen and (min-width: 990px) {
  .grid--6-col-desktop .grid__item {
    width: calc(16.66% - var(--grid-desktop-horizontal-spacing) * 5 / 6);
    max-width: calc(16.66% - var(--grid-desktop-horizontal-spacing) * 5 / 6);
  }

  .grid--5-col-desktop .grid__item {
    width: calc(20% - var(--grid-desktop-horizontal-spacing) * 4 / 5);
    max-width: calc(20% - var(--grid-desktop-horizontal-spacing) * 4 / 5);
  }

  .grid--4-col-desktop .grid__item {
    width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
    max-width: calc(25% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
  }

  .grid--3-col-desktop .grid__item {
    width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
    max-width: calc(33.33% - var(--grid-desktop-horizontal-spacing) * 2 / 3);
  }

  .grid--2-col-desktop .grid__item {
    width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
    max-width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }

  .slider.slider--desktop .scroll-trigger.animate--slide-in {
    animation: none;
    opacity: 1;
    transform: inherit;
  }

  .scroll-trigger:not(.scroll-trigger--offscreen) .slider--desktop {
    animation: var(--animation-slide-in);
  }
}

@media screen and (min-width: 990px) {
  .grid--1-col-desktop {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .grid--1-col-desktop .grid__item {
    width: 100%;
    max-width: 100%;
  }
}

@media screen and (max-width: 749px) {
  .grid--peek.slider--mobile {
    margin: 0;
    width: 100%;
  }

  .grid--peek.slider--mobile .grid__item {
    box-sizing: content-box;
    margin: 0;
  }

  .grid--peek .grid__item {
    min-width: 35%;
  }

  .grid--peek.slider .grid__item:first-of-type {
    margin-left: 1.5rem;
  }

  /* Fix to show some space at the end of our sliders in all browsers */
  .grid--peek.slider:after {
    margin-left: calc(-1 * var(--grid-mobile-horizontal-spacing));
  }

  .grid--2-col-tablet-down .grid__item {
    width: calc(50% - var(--grid-mobile-horizontal-spacing) / 2);
  }

  .slider--tablet.grid--peek.grid--2-col-tablet-down .grid__item,
  .grid--peek .grid__item {
    width: calc(50% - var(--grid-mobile-horizontal-spacing) - 3rem);
  }

  .slider--tablet.grid--peek.grid--1-col-tablet-down .grid__item,
  .slider--mobile.grid--peek.grid--1-col-tablet-down .grid__item {
    width: calc(100% - var(--grid-mobile-horizontal-spacing) - 3rem);
  }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .slider--tablet.grid--peek .grid__item {
    width: calc(25% - var(--grid-desktop-horizontal-spacing) - 3rem);
  }

  .slider--tablet.grid--peek.grid--3-col-tablet .grid__item {
    width: calc(33.33% - var(--grid-desktop-horizontal-spacing) - 3rem);
  }

  .slider--tablet.grid--peek.grid--2-col-tablet .grid__item,
  .slider--tablet.grid--peek.grid--2-col-tablet-down .grid__item {
    width: calc(50% - var(--grid-desktop-horizontal-spacing) - 3rem);
  }

  .slider--tablet.grid--peek .grid__item:first-of-type {
    margin-left: 1.5rem;
  }

  .grid--2-col-tablet-down .grid__item {
    width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }

  .grid--1-col-tablet-down.grid--peek .grid__item {
    width: calc(100% - var(--grid-desktop-horizontal-spacing) - 3rem);
  }
}

/* component-media */
.media {
  display: block;
  background-color: rgba(var(--color-foreground), 0.1);
  position: relative;
  overflow: hidden;
}

.media--transparent {
  background-color: transparent;
}

.media > *:not(.zoom):not(.deferred-media__poster-button),
.media model-viewer {
  display: block;
  max-width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.media > img {
  object-fit: cover;
  object-position: center center;
  transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.media--square {
  padding-bottom: 100%;
}

.media--portrait {
  padding-bottom: 125%;
}

.media--landscape {
  padding-bottom: 66.6%;
}

.media--cropped {
  padding-bottom: 56%;
}

.media--16-9 {
  padding-bottom: 56.25%;
}

.media--circle {
  padding-bottom: 100%;
  border-radius: 50%;
}

.media.media--hover-effect > img + img {
  opacity: 0;
}

@media screen and (min-width: 990px) {
  .media--cropped {
    padding-bottom: 63%;
  }
}

deferred-media {
  display: block;
}

/* component-button */
/* Button - default */

.button--secondary,
.button--tertiary {
  --color-button: var(--color-secondary-button);
  --color-button-text: var(--color-secondary-button-text);
}

.button--tertiary {
  --alpha-button-background: 0;
  --alpha-button-border: 0.2;
}

.button,
.shopify-challenge__button,
.customer button,
button.shopify-payment-button__button--unbranded {
  --shadow-horizontal-offset: var(--buttons-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--buttons-shadow-vertical-offset);
  --shadow-blur-radius: var(--buttons-shadow-blur-radius);
  --shadow-opacity: var(--buttons-shadow-opacity);
  --shadow-visible: var(--buttons-shadow-visible);
  --border-offset: var(--buttons-border-offset); /* reduce radius edge artifacts */
  --border-opacity: calc(1 - var(--buttons-border-opacity));
  border-radius: var(--buttons-radius-outset);
  position: relative;
}

.button,
.shopify-challenge__button,
.customer button,
button.shopify-payment-button__button--unbranded {
  min-width: calc(12rem + var(--buttons-border-width) * 2);
  min-height: calc(4.5rem + var(--buttons-border-width) * 2);
}

.button,
.shopify-challenge__button,
.customer button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 0;
  padding: 0 3rem;
  cursor: pointer;
  font: inherit;
  font-size: 1.5rem;
  text-decoration: none;
  color: rgb(var(--color-button-text));
  transition: box-shadow var(--duration-short) ease;
  -webkit-appearance: none;
  appearance: none;
  background-color: rgba(var(--color-button), var(--alpha-button-background));
}

.button:before,
.shopify-challenge__button:before,
.customer button:before,
.shopify-payment-button__button--unbranded:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  border-radius: var(--buttons-radius-outset);
  box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) var(--shadow-blur-radius)
    rgba(var(--color-shadow), var(--shadow-opacity));
}

.button:after,
.shopify-challenge__button:after,
.customer button:after,
.shopify-payment-button__button--unbranded:after {
  content: '';
  position: absolute;
  top: var(--buttons-border-width);
  right: var(--buttons-border-width);
  bottom: var(--buttons-border-width);
  left: var(--buttons-border-width);
  z-index: 1;
  border-radius: var(--buttons-radius);
  box-shadow: 0 0 0 calc(var(--buttons-border-width) + var(--border-offset))
      rgba(var(--color-button-text), var(--border-opacity)),
    0 0 0 var(--buttons-border-width) rgba(var(--color-button), var(--alpha-button-background));
  transition: box-shadow var(--duration-short) ease;
}

.button:not([disabled]):hover::after,
.shopify-challenge__button:hover::after,
.customer button:hover::after,
.shopify-payment-button__button--unbranded:hover::after {
  --border-offset: 1.3px;
  box-shadow: 0 0 0 calc(var(--buttons-border-width) + var(--border-offset))
      rgba(var(--color-button-text), var(--border-opacity)),
    0 0 0 calc(var(--buttons-border-width) + 1px) rgba(var(--color-button), var(--alpha-button-background));
}

.button--secondary:after {
  --border-opacity: var(--buttons-border-opacity);
}

.button:focus-visible,
.button:focus,
.button.focused,
.shopify-payment-button__button--unbranded:focus-visible,
.shopify-payment-button__button--unbranded:focus {
  outline: 0;
  box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0 0.5rem rgba(var(--color-foreground), 0.5),
    0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
}

.button:focus:not(:focus-visible):not(.focused),
.shopify-payment-button__button--unbranded:focus:not(:focus-visible):not(.focused) {
  box-shadow: inherit;
}

.button::selection,
.shopify-challenge__button::selection,
.customer button::selection {
  background-color: rgba(var(--color-button-text), 0.3);
}

.button,
.button-label,
.shopify-challenge__button,
.customer button {
  font-size: 1.5rem;
  letter-spacing: 0.1rem;
  line-height: calc(1 + 0.2 / var(--font-body-scale));
}

.button--tertiary {
  font-size: 1.2rem;
  padding: 1rem 1.5rem;
  min-width: calc(9rem + var(--buttons-border-width) * 2);
  min-height: calc(3.5rem + var(--buttons-border-width) * 2);
}

.button--small {
  padding: 1.2rem 2.6rem;
}

/* Shopify Accelerated Checkout */

shopify-accelerated-checkout {
  --shopify-accelerated-checkout-button-border-radius: var(--buttons-radius-outset);
  --shopify-accelerated-checkout-button-box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) var(--shadow-blur-radius)
  rgba(var(--color-shadow), var(--shadow-opacity));
}
shopify-accelerated-checkout-cart {
  --shopify-accelerated-checkout-button-border-radius: var(--buttons-radius-outset);
  --shopify-accelerated-checkout-button-box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) var(--shadow-blur-radius)
  rgba(var(--color-shadow), var(--shadow-opacity));
}


/* Button - other */

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

.button--full-width {
  display: flex;
  width: 100%;
}

.button.loading {
  color: transparent;
  position: relative;
}

@media screen and (forced-colors: active) {
  .button.loading {
    color: rgb(var(--color-foreground));
  }
}

.button.loading > .loading__spinner {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  height: 100%;
  display: flex;
  align-items: center;
}

.button.loading > .loading__spinner .spinner {
  width: fit-content;
}

.button.loading > .loading__spinner .path {
  stroke: rgb(var(--color-button-text));
}

/* Button - social share */

.share-button {
  display: block;
  position: relative;
}

.share-button details {
  width: fit-content;
}

.share-button__button {
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  color: rgb(var(--color-link));
  margin-left: 0;
  padding-left: 0;
  min-height: 4.4rem;
}

details[open] > .share-button__fallback {
  animation: animateMenuOpen var(--duration-default) ease;
}

.share-button__button:hover {
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}

.share-button__button,
.share-button__fallback button {
  cursor: pointer;
  background-color: transparent;
  border: none;
}

.share-button__button .icon-share {
  height: 1.2rem;
  margin-right: 1rem;
  min-width: 1.3rem;
}

.share-button__fallback {
  display: flex;
  align-items: center;
  position: absolute;
  top: 3rem;
  left: 0.1rem;
  z-index: 3;
  width: 100%;
  min-width: max-content;
  border-radius: var(--inputs-radius);
  border: 0;
}

.share-button__fallback:after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: var(--inputs-border-width);
  right: var(--inputs-border-width);
  bottom: var(--inputs-border-width);
  left: var(--inputs-border-width);
  border: 0.1rem solid transparent;
  border-radius: var(--inputs-radius);
  box-shadow: 0 0 0 var(--inputs-border-width) rgba(var(--color-foreground), var(--inputs-border-opacity));
  transition: box-shadow var(--duration-short) ease;
  z-index: 1;
}

.share-button__fallback:before {
  background: rgb(var(--color-background));
  pointer-events: none;
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: var(--inputs-radius-outset);
  box-shadow: var(--inputs-shadow-horizontal-offset) var(--inputs-shadow-vertical-offset)
    var(--inputs-shadow-blur-radius) rgba(var(--color-shadow), var(--inputs-shadow-opacity));
  z-index: -1;
}

.share-button__fallback button {
  width: 4.4rem;
  height: 4.4rem;
  padding: 0;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  right: var(--inputs-border-width);
}

/* --- START: FINAL GLASS HEADER STYLES (THE FIX) --- */

/* Glass nav container styles - (Your Glass Pill Look) */
.glass-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 18px;
  width: min(1140px, 92vw);
  margin: 12px auto;
  padding: 10px 16px;
  border-radius: 22px;

  /* The Glass Effect */
  background: rgba(14, 28, 50, .36);                 
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  box-shadow: 0 8px 28px rgba(0,0,0,.28);
}

/* General layout and link color for the glass pill */
.glass-nav .header__heading{ display:flex; align-items:center; gap: 18px; }
.glass-nav .header__icons{ display:flex; align-items:center; gap: 16px; margin-left:auto; }

/* Ensure text/icons are white and legible */
.header .header__menu-item,
.glass-nav a,
.glass-nav summary,
.glass-nav .header__heading a,
.header-drawer-opener,
.header__icons .svg-wrapper svg {
  color: #fff !important; 
  text-shadow: 0 0 5px rgba(0,0,0,0.5); 
  /* For SVG icons that inherit color */
  stroke: currentColor !important;
  fill: currentColor !important;
}

/* 🛑 CORE FIX: FORCE TRANSPARENCY AND OVERLAY (REMOVES THE BLUE BAR) 🛑 */

/* Targets the main section wrapper and forces transparency and float */
.shopify-section.section-header,
.shopify-section.section-header > div,
.shopify-section-header,
.header-wrapper {
    /* Critical: Remove background color */
    background-color: transparent !important; 
    background: transparent !important; 
    box-shadow: none !important;
    border-bottom: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    
    /* Critical: Make it float over the video below */
    position: absolute !important; 
    top: 0;
    left: 0;
    right: 0;
    z-index: 30; 
}

/* Targets the specific header element itself */
.header {
    background: transparent !important;
    padding: 0 !important;
}

/* Ensures the first section (video) starts at the very top of the screen */
body.template-index main .shopify-section:first-of-type {
    margin-top: 0 !important;
}

/* Keeps your glass pill slightly offset from the top edge */
.glass-nav { 
  margin-top: 14px !important; 
  position: relative; 
  z-index: 35; /* Ensures the pill is above the floating header */
}

/* Tighter pill on small screens */
@media (max-width: 750px){
  .glass-nav{ width: 94vw; padding: 10px 14px; border-radius: 18px; }
}

/* --- END: FINAL GLASS HEADER STYLES (THE FIX) --- */
/* ============ Slim Glass Header ============ */

/* space between page top and header: ~1cm */
#site-header { margin-top: 1cm; }

/* the pill */
.glass-nav{
  --pill-max: 1180px;
  --pill-pad-y: 8px;         /* slim vertical */
  --pill-pad-x: 14px;
  --pill-radius: 22px;

  width: min(var(--pill-max), 94vw);
  margin: 0 auto;
  padding: var(--pill-pad-y) var(--pill-pad-x);
  border-radius: var(--pill-radius);
  display: flex; align-items: center; justify-content: space-between; gap: 14px;

  /* glass look */
  background: rgba(18, 24, 40, .40);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  box-shadow: 0 8px 26px rgba(0,0,0,.25);
}

/* layout blocks */
.nav-left{ display:flex; align-items:center; gap:14px; }
.nav-right{ display:flex; align-items:center; gap:16px; }

/* brand */
.brand{ display:flex; align-items:center; gap:10px; text-decoration:none; }
.brand__img{ height:28px; width:auto; display:block; }
.brand__text{ font-size:16px; font-weight:700; color:#fff; }

/* drawer */
.nav-drawer{ position: relative; }
.drawer-button{ display:flex; align-items:center; gap:8px; padding:6px 10px; border-radius:12px; }
.drawer-button::-webkit-details-marker{ display:none; }
.drawer-label{ font-size:14px; color:#fff; }

.drawer-panel{
  position:absolute; top: calc(100% + 8px); left:0;
  background: rgba(20, 26, 42, .92);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  min-width: 220px;
  padding:10px;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
}
.nav-drawer:not([open]) .drawer-panel{ display:none; }

.drawer-nav{ display:flex; flex-direction:column; }
.drawer-nav a{
  color:#fff; text-decoration:none; padding:10px 12px; border-radius:10px; font-weight:600; letter-spacing:.2px;
}
.drawer-nav a:hover{ background: rgba(255,255,255,.08); }

/* right side */
.locale-select{
  appearance:none; background: transparent; border:1px solid rgba(255,255,255,.18);
  color:#fff; padding:6px 26px 6px 10px; border-radius:12px; font-size:14px; line-height:1;
  background-image: linear-gradient(45deg, transparent 50%, #fff 50%), linear-gradient(135deg, #fff 50%, transparent 50%);
  background-position: right 8px top 55%, right 2px top 55%; background-size: 6px 6px; background-repeat:no-repeat;
}
.locale-select:focus{ outline:2px solid rgba(255,255,255,.35); outline-offset:2px; }

.cart-link{ position:relative; display:flex; align-items:center; gap:8px; color:#fff; text-decoration:none; }
.cart-link svg{ display:block; }
.cart-count{
  position:absolute; top:-6px; right:-8px; 
  background:#fff; color:#000; font-size:11px; font-weight:700;
  padding:2px 6px; border-radius:999px; line-height:1;
}

/* global header cleanup: kill any theme header background/spacing */
.shopify-section.section-header,
.header-wrapper,
.header{ background:transparent !important; box-shadow:none !important; border:0 !important; padding:0 !important; margin:0 !important; }

/* make the whole header vertically slim (≈ half your old size) */
#site-header .glass-nav{ padding-block: 6px; }
@media (max-width: 720px){
  .brand__img{ height:24px; }
  .drawer-label{ display:none; }
}

/* ensure all text/icons are white */
.glass-nav, .glass-nav a, .glass-nav summary, .glass-nav svg{ color:#fff; fill:currentColor; stroke:currentColor; }

/* accessibility */
.visually-hidden{ position:absolute !important; clip:rect(0 0 0 0); width:1px; height:1px; margin:-1px; overflow:hidden; }
/* In your style.css file */
/* Update your header class name if it's not exactly .main-header */
.main-header {
    /* FORCES the background to be transparent */
    background-color: transparent !important; 

    /* Lifts the header out of the document flow */
    position: absolute !important; 
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;

    /* Ensures the header sits on top of the video */
    z-index: 9999 !important; 
    
    /* Ensure the text/icons are light */
    color: white !important; 
}
/* Remove ANY top gap between the header and the first homepage section */
body.template-index main .shopify-section:first-of-type,
#MainContent > .shopify-section:first-child,
main .section:first-child,
main .banner:first-child,
main .index-section:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Dawn/Refresh often add section-to-section spacing via `.section + .section`.
   This ensures the first section never gets that margin by mistake. */
main .section {
  /* nothing */
}
main .section:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Safety: if your hero has an internal wrapper that adds padding at the top */
#MainContent .banner--padding-top:first-child,
#MainContent .hero:first-child,
#MainContent .slideshow:first-child {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Keep header on top of the video (overlay style) */
.header-wrapper,
.shopify-section.section-header {
  position: absolute !important;
  top: 0; left: 0; right: 0;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  z-index: 30;
}
.cart-items td, .cart-items th {
  vertical-align: middle;
  text-align: center;
}

.cart-items__quantity input {
  width: 60px;
  text-align: center;
}

.cart__footer {
  text-align: right;
}


/* ========= DAWN RESCUE KIT (scoped & non-destructive) ========= */

/* Guard against broken global rules */
a { display: inline; }
table input, table select, table button { width: auto; }
*, *::before, *::after { box-sizing: border-box; }

/* Restore Dawn containers/grids */
:root { --page-width: 120rem; }
.page-width { 
  max-width: var(--page-width); 
  margin-left: auto; 
  margin-right: auto; 
  padding-left: 1.6rem; 
  padding-right: 1.6rem; 
}
.grid { display: grid; gap: 1.6rem; }

/* Product page layout fix */
body.template-product .product { display: grid; gap: 2rem; }
@media (min-width: 990px){
  body.template-product .product { grid-template-columns: 1fr 1fr; align-items: start; }
}
body.template-product .product__media-wrapper img,
body.template-product .product__media-wrapper video {
  max-width: 100%;
  height: auto;
}

/* Prevent full-width inputs/buttons */
body.template-product .product-form__input input,
body.template-product .product-form__input select,
body.template-product .product-form__submit { width: auto; }

/* Cart table sanity */
.cart-items, .cart-items table { width: 100%; border-collapse: collapse; }
.cart-items th, .cart-items td { padding: .75rem; text-align: center; vertical-align: middle; }
.cart__footer { text-align: right; }

/* Quantity control alignment */
.quantity, .cart-items__quantity { display: inline-flex; align-items: center; gap: .5rem; }
.quantity__input, .cart-items__quantity input[type=number] {
  width: 60px !important;
  min-width: 60px;
  text-align: center;
}

/* Fix number input spinners */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; }

/* Scope-only layout guards */
body.template-cart .page-width,
body.template-product .page-width { max-width: var(--page-width); }

/* Typography guard */
h1,h2,h3,h4,h5,h6 { line-height: 1.2; }
p { line-height: 1.6; }

/* ========= /DAWN RESCUE KIT ========= */

/* ===== Brand typography & colors (cart + site-wide) ===== */

/* 1) Brand link color (tweak these two to taste) */
:root{
  --brand-blue-rgb: 69,180,255;   /* #45B4FF from your scheme */
  --brand-blue-rgb-dark: 0,116,255; /* #0074FF for hovers/buttons */
}

/* Cart item titles and all links */
.cart-item__name a,
a, .link, a:link, a:visited {
  color: rgb(var(--brand-blue-rgb)) !important;
}
a:hover, .link:hover {
  color: rgb(var(--brand-blue-rgb-dark)) !important;
  text-decoration-color: rgba(var(--brand-blue-rgb), .5);
}

/* 2) Font family (use your chosen font from Theme settings or enforce one here) */
/* Replace "Inter" with what you picked in Theme settings → Typography */
body {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI",
               Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji",
               "Segoe UI Emoji", "Segoe UI Symbol", sans-serif !important;
}
h1,h2,h3,h4,h5,h6 {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI",
               Roboto, "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: -0.02em;
}

/* 3) Modern rounded buttons (Cart primary + secondary) */
.cart__ctas .button,
.cart__footer .button,
.cart__checkout-button,
.button--primary {
  border-radius: 9999px !important;   /* pill shape */
  padding: 14px 22px !important;
  font-weight: 700 !important;
  border: 0 !important;
  background: rgb(var(--brand-blue-rgb-dark)) !important; /* #0074FF */
  color: #fff !important;
}

/* Secondary/outline look if you use it anywhere */
.button--secondary, .button--tertiary {
  border-radius: 9999px !important;
  border: 2px solid rgb(var(--brand-blue-rgb)) !important;
  background: transparent !important;
  color: rgb(var(--brand-blue-rgb)) !important;
}

/* Ensure scheme colors actually apply (undo old hard-coded bg/text) */
body {
  background: rgb(var(--color-background)) !important;
  color: rgb(var(--color-foreground)) !important;
}


/* ===== SITE-WIDE COLOR + STYLE RESET (DEEP BLUE THEME) ===== */

/* Background gradient for pages */
body {
  background: linear-gradient(180deg, #0A1D2F 0%, #0B2742 100%) !important;
  color: #E6E6E6 !important;
  font-family: "Inter", sans-serif !important;
}

/* Link + hover color */
a, .link, a:link, a:visited {
  color: #45B4FF !important;
  text-decoration: none;
}
a:hover, .link:hover {
  color: #0074FF !important;
  text-decoration: underline;
}

/* Buttons (rounded, modern) */
.button, .cart__ctas .button, .cart__checkout-button {
  border-radius: 12px !important;
  background: #0074FF !important;
  color: #fff !important;
  border: none !important;
  padding: 14px 22px !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  transition: all 0.2s ease-in-out;
}
.button:hover, .cart__checkout-button:hover {
  background: #45B4FF !important;
  transform: translateY(-1px);
}

/* Quantity buttons */
.quantity__button, .cart-items__quantity button {
  background: transparent !important;
  border: 2px solid #45B4FF !important;
  color: #E6E6E6 !important;
  border-radius: 50% !important;
  transition: all 0.2s ease-in-out;
}
.quantity__button:hover {
  background: #0074FF !important;
  color: #fff !important;
}

/* Input fields (order notes, forms, etc.) */
textarea, input, select {
  background: rgba(255,255,255,0.05) !important;
  color: #fff !important;
  border: 1px solid #45B4FF !important;
  border-radius: 14px !important;
  padding: 10px 14px !important;
}

/* Cart totals section */
.cart__footer, .cart__footer-wrapper {
  background: transparent !important;
  border-top: 1px solid rgba(255,255,255,0.1);
}

/* Headings */
h1, h2, h3, h4, h5 {
  color: #fff !important;
  font-weight: 700 !important;
}

/* Subtle shadows for depth */
.card, .cart-items__product {
  box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}


/* ===== Quantity & Remove — modern pill style ===== */

/* Wrapper (pill) */
.quantity {
  display: inline-grid !important;
  grid-template-columns: 44px 72px 44px !important;
  align-items: center !important;
  gap: 0 !important;
  border: 2px solid #45B4FF !important;
  border-radius: 9999px !important;
  background: rgba(69,180,255,0.08) !important;
  overflow: hidden !important;
}

/* Buttons (left/right) */
.quantity__button {
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  background: transparent !important;
  color: #9ED7FF !important;
  cursor: pointer !important;
  transition: background .15s ease, color .15s ease, transform .05s ease !important;
}

/* If your theme's SVG icons got hidden, force clean +/– text icons */
.quantity__button svg { display: none !important; }  /* hide broken SVGs */
.quantity__button[name="minus"]::before { content: "–"; font-size: 22px; line-height: 1; }
.quantity__button[name="plus"]::before  { content: "+"; font-size: 20px; line-height: 1; }

/* Hover / active states */
.quantity__button:hover {
  background: rgba(69,180,255,0.18) !important;
  color: #FFFFFF !important;
}
.quantity__button:active { transform: scale(0.97); }

/* Number box (middle) */
.quantity__input {
  width: 72px !important;
  height: 44px !important;
  text-align: center !important;
  border: 0 !important;
  background: rgba(255,255,255,0.04) !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  font-size: 16px !important;
}

/* Focus ring for accessibility */
.quantity__button:focus-visible,
.quantity__input:focus-visible {
  outline: 2px solid #45B4FF !important;
  outline-offset: 2px !important;
}

/* ===== Remove (trash) button ===== */
cart-remove-button .button,
.cart-remove .button,
.cart-item__remove .button,
cart-remove-button button {
  display: inline-grid !important;
  grid-auto-flow: column !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 16px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,107,107,0.45) !important;
  background: rgba(255,107,107,0.12) !important;
  color: #FF6B6B !important;
  font-weight: 600 !important;
  transition: background .15s ease, color .15s ease, border-color .15s ease, transform .05s ease !important;
}
cart-remove-button .button:hover,
.cart-remove .button:hover,
.cart-item__remove .button:hover,
cart-remove-button button:hover {
  background: #FF4D4D !important;
  border-color: #FF4D4D !important;
  color: #fff !important;
  transform: translateY(-1px);
}

/* Make sure the trash icon inherits the color and is visible */
cart-remove-button svg,
.cart-item__remove svg { 
  width: 18px; height: 18px;
  stroke: currentColor !important; fill: none !important;
}


/* ===== Cart page gradient (Dawn) ===== */
body.template-cart{
  /* Use your scheme gradient if set, otherwise fall back to custom */
  --cart-gradient: var(--gradient-background, linear-gradient(180deg,#0A1D2F 0%,#0B2742 100%));
  background: var(--cart-gradient) fixed !important;
  min-height: 100vh;
}

/* Make the cart’s inner wrappers transparent so the gradient shows */
body.template-cart .content-for-layout,
body.template-cart .shopify-section,
body.template-cart .color-background-1,
body.template-cart .cart,
body.template-cart .cart__items,
body.template-cart .cart-items,
body.template-cart .cart__footer-wrapper {
  background: transparent !important;
}

/* Optional: soften separators so they sit nicely on a gradient */
body.template-cart hr,
body.template-cart .cart__warnings,
body.template-cart .cart__footer { 
  border-color: rgba(255,255,255,.12) !important;
}


/* ===== Perfect centering for quantity & remove ===== */

/* Whole pill */
.quantity {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  height: 48px !important;
  border-radius: 9999px !important;
  padding: 0 !important;
}

/* Buttons (+ / -) */
.quantity__button {
  width: 48px !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 1 !important;   /* avoid baseline lift */
  border: 0 !important;
  background: transparent !important;
}

/* Use text symbols if SVGs are misaligned */
.quantity__button svg { display: none !important; }
.quantity__button[name="minus"]::before { content: "–"; font-size: 22px; line-height: 1; }
.quantity__button[name="plus"]::before  { content: "+"; font-size: 20px; line-height: 1; }

/* Middle number */
.quantity__input {
  width: 72px !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  background: transparent !important;  /* kill the dark blob */
  border: 0 !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  color: #fff !important;
}
.quantity__input::-webkit-outer-spin-button,
.quantity__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.quantity__input { -moz-appearance: textfield; }

/* Remove button: exact centering */
cart-remove-button button,
.cart-item__remove .button,
.cart-remove .button {
  width: 48px !important;
  height: 48px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  line-height: 1 !important;
}
cart-remove-button svg,
.cart-item__remove svg {
  width: 20px !important;
  height: 20px !important;
  display: block !important;      /* removes inline baseline */
  stroke: currentColor !important;
  fill: none !important;
}


/* ===== Cart remove button: perfect center fix ===== */
cart-remove-button,
cart-remove-button * { box-sizing: border-box; }

cart-remove-button button,
.cart-item__remove .button,
.cart-remove .button {
  width: 48px !important;
  height: 48px !important;
  padding: 0 !important;
  border-radius: 12px !important;
  display: flex !important;
  align-items: center !important;   /* vertical center */
  justify-content: center !important;/* horizontal center */
  line-height: 0 !important;         /* kill baseline lift */
}

/* Nuke any internal spans that shift the icon */
cart-remove-button button > span { display: contents !important; }

/* Icon itself */
cart-remove-button svg,
.cart-item__remove svg,
.cart-remove svg {
  width: 20px !important;
  height: 20px !important;
  display: block !important;         /* no inline baseline */
  margin: 0 !important;
  transform: translateY(0) !important;
  stroke: currentColor !important;
  fill: none !important;
}

/* If your icon is still a hair low/high, uncomment one of these: */
/* cart-remove-button svg { transform: translateY(-1px) !important; } */
/* cart-remove-button svg { transform: translateY(1px) !important; } */


/* ===== Cart layout alignment fix ===== */
.cart-items table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
}

.cart-items thead th {
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding-bottom: 0.75rem;
}

.cart-item {
  display: table-row !important;
  vertical-align: middle !important;
}

.cart-item td {
  padding: 1.25rem 0.75rem !important;
  vertical-align: middle !important;
}

/* Ensure product name, quantity, and price align on the same row */
.cart-item__details,
.cart-item__quantity,
.cart-item__totals {
  display: table-cell !important;
  vertical-align: middle !important;
}

/* Product image & info alignment */
.cart-item__media {
  width: 120px !important;
  vertical-align: middle !important;
}
.cart-item__name {
  text-align: left !important;
}

/* Quantity cell smaller width */
.cart-item__quantity {
  width: 160px !important;
}

/* Totals cell right aligned */
.cart-item__totals {
  text-align: right !important;
}

/* Hide any extra duplicated table header rows (Shopify glitch fix) */
.cart-items tbody tr.cart-items__row--header { display: none !important; }


/* ===== FINAL NUKE: center the trash icon perfectly on cart ===== */
body.template-cart cart-remove-button,
body.template-cart cart-remove-button * { box-sizing: border-box; }

body.template-cart cart-remove-button button {
  /* exact square */
  width: 48px !important;
  height: 48px !important;
  padding: 0 !important;

  /* force true centering */
  display: grid !important;
  place-items: center !important;

  /* kill any baseline/line-height quirks coming from .button */
  line-height: 0 !important;
}

/* Dawn sometimes wraps the svg in .button__content > span */
body.template-cart cart-remove-button .button__content,
body.template-cart cart-remove-button .button__content > span {
  display: contents !important;  /* remove stray inline flow that offsets vertically */
}

/* the icon itself */
body.template-cart cart-remove-button svg {
  display: block !important;     /* no inline baseline */
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  vertical-align: middle !important;

  /* nudge control – change 0 to -1px or +1px if your monitor shows a 1px illusion */
  transform: translateY(0) !important;
}

/* if your theme uses an <i> or <span> icon instead of svg, cover that too */
body.template-cart cart-remove-button i,
body.template-cart cart-remove-button .icon {
  display: block !important;
  font-size: 20px !important;
  line-height: 1 !important;
  transform: translateY(0) !important;
}


/* FINAL center for the remove (trash) button */
body.template-cart cart-remove-button button {
  width: 48px !important;
  height: 48px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  line-height: 0 !important;
}
body.template-cart cart-remove-button .button__content,
body.template-cart cart-remove-button .button__content > span { display: contents !important; }
body.template-cart cart-remove-button svg {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  transform: translateY(0) !important;  /* nudge up/down if needed: -1px / +1px */
}


/* Cart: keep only the right-most TOTAL (hide the left price column) */
body.template-cart .cart-items thead th:nth-child(2),
body.template-cart .cart-items tbody td:nth-child(2) {
  display: none !important;
}

/* Table alignment so all cells stay on one row */
body.template-cart .cart-items table {
  table-layout: fixed !important;
  width: 100% !important;
  border-collapse: collapse !important;
}
body.template-cart .cart-items thead th,
body.template-cart .cart-items tbody td {
  vertical-align: middle !important;
}

/* Column widths: [media+title] [quantity] [line total] */
body.template-cart .cart-items thead th:nth-child(1),
body.template-cart .cart-items tbody td:nth-child(1) { width: 62% !important; text-align: left !important; }
body.template-cart .cart-items thead th:nth-child(3),
body.template-cart .cart-items tbody td:nth-child(3) { width: 20% !important; text-align: center !important; }
body.template-cart .cart-items thead th:nth-child(4),
body.template-cart .cart-items tbody td:nth-child(4) { width: 18% !important; text-align: right !important; }

/* Kill any stray duplicate header rows rendered inside <tbody> */
body.template-cart .cart-items tbody th { display: none !important; }


/* ===== CART: compact, centered controls ===== */
@media (min-width: 990px){
  /* shrink the quantity pill */
  .cart-item__quantity {
    width: 200px !important;              /* cell width */
    text-align: center !important;
  }
}

/* Quantity pill */
.quantity{
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  height: 40px !important;
  border-radius: 9999px !important;
  padding: 0 !important;
}

/* +/- buttons */
.quantity__button{
  width: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 1 !important;
  border: 0 !important;
  background: transparent !important;
}
.quantity__button svg{ display:none !important; }  /* use text glyphs to avoid misaligned SVGs */
.quantity__button[name="minus"]::before{ content:"–"; font-size:20px; line-height:1; }
.quantity__button[name="plus"]::before{  content:"+"; font-size:18px; line-height:1; }

/* number box */
.quantity__input{
  width: 60px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  color: #fff !important;
}

/* Trash button: smaller and perfectly centered */
cart-remove-button button,
.cart-item__remove .button{
  width: 40px !important;
  height: 40px !important;
  margin-left: 12px !important;          /* space after quantity */
  padding: 0 !important;
  border-radius: 10px !important;
  display: grid !important;
  place-items: center !important;
  line-height: 0 !important;
}
cart-remove-button .button__content,
cart-remove-button .button__content > span{ display: contents !important; }

cart-remove-button svg,
.cart-item__remove svg{
  display: block !important;              /* remove inline baseline */
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  transform: translateY(0) !important;    /* if it looks 1px off, set to -1px or +1px */
}
/* Keep one-line rows on desktop */
@media (min-width: 990px){
  .cart-items table{
    table-layout: fixed !important;
    width: 100% !important;
    border-collapse: collapse !important;
  }
  .cart-items thead th,
  .cart-items tbody td{
    vertical-align: middle !important;
  }

  /* Column widths: [product] [quantity] [total] */
  .cart-items thead th:nth-child(1),
  .cart-items tbody td:nth-child(1){ width: 62% !important; text-align: left !important; }
  .cart-items thead th:nth-child(2),
  .cart-items tbody td:nth-child(2){ width: 20% !important; text-align: center !important; }
  .cart-items thead th:nth-child(3),
  .cart-items tbody td:nth-child(3){ width: 18% !important; text-align: right !important; }
}


/* ===== CART: compact controls + perfect centering (desktop) ===== */
@media (min-width: 990px){
  /* force table to keep 1 row */
  body.template-cart .cart-items table{
    table-layout: fixed !important;
    width: 100% !important;
    border-collapse: collapse !important;
  }
  body.template-cart .cart-items thead th,
  body.template-cart .cart-items tbody td{
    vertical-align: middle !important;
  }

  /* hide the mobile info row if it still exists */
  body.template-cart .cart-items__row--info { display: none !important; }

  /* columns: [product] [quantity] [total] */
  body.template-cart .cart-items thead th:nth-child(1),
  body.template-cart .cart-items tbody td:nth-child(1){ width: 62% !important; text-align: left !important; }
  body.template-cart .cart-items thead th:nth-child(2),
  body.template-cart .cart-items tbody td:nth-child(2){ width: 20% !important; text-align: center !important; }
  body.template-cart .cart-items thead th:nth-child(3),
  body.template-cart .cart-items tbody td:nth-child(3){ width: 18% !important; text-align: right !important; }
}

/* ===== Quantity pill (smaller) ===== */
body.template-cart td.cart-item__quantity .quantity{
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  height: 40px !important;
  border-radius: 9999px !important;
  padding: 0 !important;
}

body.template-cart td.cart-item__quantity .quantity__button{
  width: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 1 !important;
  border: 0 !important;
  background: transparent !important;
}
body.template-cart td.cart-item__quantity .quantity__button svg{ display:none !important; }
body.template-cart td.cart-item__quantity .quantity__button[name="minus"]::before{ content:"–"; font-size:20px; line-height:1; }
body.template-cart td.cart-item__quantity .quantity__button[name="plus"]::before{  content:"+"; font-size:18px; line-height:1; }

body.template-cart td.cart-item__quantity .quantity__input{
  width: 60px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  color: #fff !important;
}

/* ===== Trash button: smaller + pixel center ===== */
body.template-cart td.cart-item__quantity cart-remove-button button,
body.template-cart td.cart-item__quantity .cart-item__remove .button{
  width: 40px !important;
  height: 40px !important;
  margin-left: 12px !important;
  padding: 0 !important;
  border-radius: 10px !important;
  display: grid !important;
  place-items: center !important;
  line-height: 0 !important;
}
body.template-cart td.cart-item__quantity cart-remove-button .button__content,
body.template-cart td.cart-item__quantity cart-remove-button .button__content > span{ display: contents !important; }

body.template-cart td.cart-item__quantity cart-remove-button svg,
body.template-cart td.cart-item__quantity .cart-item__remove svg{
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  transform: translateY(0) !important; /* if needed, change to -1px or +1px */
}


/* === Keep items on one row (desktop) & set sane column widths === */
@media (min-width: 990px){
  body.template-cart .cart-items table{
    table-layout: fixed !important;
    width: 100% !important;
    border-collapse: collapse !important;
  }
  body.template-cart .cart-items thead th,
  body.template-cart .cart-items tbody td{
    vertical-align: middle !important;
  }

  /* Thead has PRODUCT with colspan=2, so tbody td indexes are: 1 media, 2 details, 3 quantity, 4 total */
  body.template-cart .cart-item td:nth-child(1){ width: 120px !important; }     /* media */
  body.template-cart .cart-item td:nth-child(2){ width: auto !important; }      /* details (flex) */
  body.template-cart .cart-item td:nth-child(3){ width: 220px !important; text-align:center !important; } /* quantity */
  body.template-cart .cart-item td:nth-child(4){ width: 160px !important; text-align:right !important; }  /* total */

  /* If a mobile info row survived somehow, hide it */
  body.template-cart .cart-items__row--info{ display:none !important; }
}

/* === Quantity: compact pill (40px) with centered +/- and number === */
body.template-cart td.cart-item__quantity .quantity{
  display:inline-flex !important; align-items:center !important; gap:0 !important;
  height:40px !important; border-radius:9999px !important; padding:0 !important;
}
body.template-cart td.cart-item__quantity .quantity__button{
  width:40px !important; height:40px !important; display:flex !important;
  align-items:center !important; justify-content:center !important;
  padding:0 !important; line-height:1 !important; border:0 !important; background:transparent !important;
}
body.template-cart td.cart-item__quantity .quantity__button svg{ display:none !important; }
body.template-cart td.cart-item__quantity .quantity__button[name="minus"]::before{ content:"–"; font-size:20px; line-height:1; }
body.template-cart td.cart-item__quantity .quantity__button[name="plus"]::before{  content:"+"; font-size:18px; line-height:1; }
body.template-cart td.cart-item__quantity .quantity__input{
  width:60px !important; height:40px !important; display:flex !important;
  align-items:center !important; justify-content:center !important;
  padding:0 !important; margin:0 !important; background:transparent !important; border:0 !important;
  font-weight:700 !important; font-size:16px !important; color:#fff !important;
}

/* === Remove (trash) button: 40px square, pixel-center the icon === */
body.template-cart td.cart-item__quantity cart-remove-button button,
body.template-cart td.cart-item__quantity .cart-item__remove .button{
  width:40px !important; height:40px !important; margin-left:12px !important;
  padding:0 !important; border-radius:10px !important; display:grid !important; place-items:center !important;
  line-height:0 !important;
}
body.template-cart td.cart-item__quantity cart-remove-button .button__content,
body.template-cart td.cart-item__quantity cart-remove-button .button__content > span{ display:contents !important; }
body.template-cart td.cart-item__quantity cart-remove-button svg,
body.template-cart td.cart-item__quantity .cart-item__remove svg{
  display:block !important; width:18px !important; height:18px !important; margin:0 !important;
  transform:translateY(0) !important; /* if it looks 1px off: set to -1px or +1px */
}


/* --- Product Page Reset --- */
.product__media img {
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}
.product__media-wrapper {
  max-width: 600px;
  margin: 0 auto;
}


/* ===== PRODUCT PAGE LAYOUT FIX — HIGH SPECIFICITY ===== */
body.template-product .product {
  max-width: 1280px !important;
  margin: 0 auto !important;
  gap: 2rem !important;
}

/* Desktop two-column split */
@media (min-width: 990px) {
  body.template-product .product__media-wrapper {
    max-width: 56% !important;
    width: calc(56% - var(--grid-desktop-horizontal-spacing)/2) !important;
    padding: 0 !important;
  }
  body.template-product .product__info-wrapper {
    max-width: 44% !important;
    width: calc(44% - var(--grid-desktop-horizontal-spacing)/2) !important;
    padding: 0 0 0 3rem !important;
  }
  body.template-product.product--right .product__info-wrapper {
    padding: 0 3rem 0 0 !important;
  }
  body.template-product .product__column-sticky {
    position: sticky !important;
    top: 7.2rem !important;
    z-index: 1 !important;
  }
}

/* Mobile stack */
@media (max-width: 989px) {
  body.template-product .product__media-wrapper,
  body.template-product .product__info-wrapper {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
  }
  body.template-product .product__media-list {
    margin: 0 0 2rem 0 !important;
    width: 100% !important;
    padding-right: 0 !important;
  }
  body.template-product .product__info-container { padding: 0 1.2rem !important; }
}

/* Thumbnails tidy */
@media (min-width: 750px) {
  body.template-product .thumbnail-list {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: .8rem !important;
    padding-top: 1rem !important;
  }
}
@media (max-width: 749px) {
  body.template-product .thumbnail-list__item.slider__slide {
    width: calc(25% - .6rem) !important;
  }
}

/* Tighten title/price spacing */
body.template-product .product__title { margin: 0 0 .6rem 0 !important; line-height: 1.15 !important; }
body.template-product .price__container { margin: .2rem 0 .6rem !important; }
body.template-product .price dl,
body.template-product .price .badge { margin: .2rem 0 !important; }

/* Buttons full width & sane sizing */
body.template-product .product-form__buttons,
body.template-product .product-form__submit,
body.template-product .shopify-payment-button,
body.template-product .shopify-payment-button__button,
body.template-product .shopify-payment-button__button--unbranded { width: 100% !important; }

body.template-product .product-form__submit {
  margin: .6rem 0 1rem !important;
  font-size: 1.5rem !important;
  letter-spacing: .06rem !important;
  line-height: 1.2 !important;
  padding: 1.2rem 1.6rem !important;
}

/* Kill extra padding variants that blow the column */
body.template-product .product__info-wrapper--extra-padding { padding: 0 !important; }
body.template-product.product--right .product__info-wrapper--extra-padding { padding: 0 !important; }

/* Quantity control normalization */
body.template-product .quantity,
body.template-product .quantity input,
body.template-product .quantity button {
  height: 44px !important;
  min-height: 44px !important;
  font-size: 1.4rem !important;
}
body.template-product .quantity { max-width: 190px !important; }

/* Prevent gallery overflow */
body.template-product .product-media-container.constrain-height {
  --viewport-offset: 220px !important;
  --constrained-min-height: 420px !important;
}
/* LOUD TEST */
body{outline:10px solid red !important;}
