/* Welcome to the UpCart stylesheet :)

   This file is loaded in production exactly as is it appears in our codebase.
   No bundling. No minification. No prefixing. No Sass. Comments included.

   If this file gets too big then we should write less CSS.
*/

/* [Start] React Responsive Carousel

   Vendored from react-responsive-carousel@v3.2.23
   License (MIT) and source code available here:
   https://www.npmjs.com/package/react-responsive-carousel

   These styles must come before our overrides in later sections, otherwise the
   left/right carousel arrows won't work.
*/
.carousel .control-arrow,
.carousel.carousel-slider .control-arrow {
  background: none;
  border: 0;
  cursor: pointer;
  filter: alpha(opacity=40);
  font-size: 32px;
  opacity: 0.4;
  position: absolute;
  top: 20px;
  transition: all 0.25s ease-in;
  z-index: 2;
}

.carousel .control-arrow:focus,
.carousel .control-arrow:hover {
  filter: alpha(opacity=100);
  opacity: 1;
}

.carousel .control-arrow:before,
.carousel.carousel-slider .control-arrow:before {
  border-bottom: 8px solid transparent;
  border-top: 8px solid transparent;
  content: '';
  display: inline-block;
  margin: 0 5px;
}

.carousel .control-disabled.control-arrow {
  cursor: inherit;
  display: none;
  filter: alpha(opacity=0);
  opacity: 0;
}

.carousel .control-prev.control-arrow {
  left: 0;
}

.carousel .control-prev.control-arrow:before {
  border-right: 8px solid #fff;
}

.carousel .control-next.control-arrow {
  right: 0;
}

.carousel .control-next.control-arrow:before {
  border-left: 8px solid #fff;
}

.carousel-root {
  outline: none;
}

.carousel {
  position: relative;
  width: 100%;
}

.carousel * {
  box-sizing: border-box;
}

.carousel img {
  display: inline-block;
  pointer-events: none;
  width: 100%;
}

.carousel .carousel {
  position: relative;
}

.carousel .control-arrow {
  background: none;
  border: 0;
  font-size: 18px;
  margin-top: -13px;
  outline: 0;
  top: 50%;
}

.carousel .thumbs-wrapper {
  margin: 20px;
  overflow: hidden;
}

.carousel .thumbs {
  list-style: none;
  position: relative;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  transition: all 0.15s ease-in;
  white-space: nowrap;
}

.carousel .thumb {
  border: 3px solid #fff;
  display: inline-block;
  margin-right: 6px;
  overflow: hidden;
  padding: 2px;
  transition: border 0.15s ease-in;
  white-space: nowrap;
}

.carousel .thumb:focus {
  border: 3px solid #ccc;
  outline: none;
}

.carousel .thumb.selected,
.carousel .thumb:hover {
  border: 3px solid #333;
}

.carousel .thumb img {
  vertical-align: top;
}

.carousel.carousel-slider {
  margin: 0;
  overflow: hidden;
  position: relative;
}

.carousel.carousel-slider .control-arrow {
  bottom: 0;
  color: #fff;
  font-size: 26px;
  margin-top: 0;
  padding: 5px;
  top: 0;
}

.carousel.carousel-slider .control-arrow:hover {
  background: rgba(0, 0, 0, 0.2);
}

.carousel .slider-wrapper {
  margin: auto;
  overflow: hidden;
  transition: height 0.15s ease-in;
  width: 100%;
}

.carousel .slider-wrapper.axis-horizontal .slider {
  -ms-box-orient: horizontal;
  display: -moz-flex;
  display: flex;
}

.carousel .slider-wrapper.axis-horizontal .slider .slide {
  flex-direction: column;
  flex-flow: column;
}

.carousel .slider-wrapper.axis-vertical {
  -ms-box-orient: horizontal;
  display: -moz-flex;
  display: flex;
}

.carousel .slider-wrapper.axis-vertical .slider {
  flex-direction: column;
}

.carousel .slider {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  width: 100%;
}

.carousel .slider.animated {
  transition: all 0.35s ease-in-out;
}

.carousel .slide {
  margin: 0;
  min-width: 100%;
  position: relative;
  text-align: center;
}

.carousel .slide img {
  border: 0;
  vertical-align: top;
  width: 100%;
}

.carousel .slide iframe {
  border: 0;
  display: inline-block;
  margin: 0 40px 40px;
  width: calc(100% - 80px);
}

.carousel .slide .legend {
  background: #000;
  border-radius: 10px;
  bottom: 40px;
  color: #fff;
  font-size: 12px;
  left: 50%;
  margin-left: -45%;
  opacity: 0.25;
  padding: 10px;
  position: absolute;
  text-align: center;
  transition: all 0.5s ease-in-out;
  transition: opacity 0.35s ease-in-out;
  width: 90%;
}

.carousel .control-dots {
  bottom: 0;
  margin: 10px 0;
  padding: 0;
  position: absolute;
  text-align: center;
  width: 100%;
  z-index: 1;
}

@media (min-width: 960px) {
  .carousel .control-dots {
    bottom: 0;
  }
}

.carousel .control-dots .dot {
  background: #fff;
  border-radius: 50%;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.9);
  cursor: pointer;
  display: inline-block;
  filter: alpha(opacity=30);
  height: 8px;
  margin: 0 8px;
  opacity: 0.3;
  transition: opacity 0.25s ease-in;
  width: 8px;
}

.carousel .control-dots .dot.selected,
.carousel .control-dots .dot:hover {
  filter: alpha(opacity=100);
  opacity: 1;
}

.carousel .carousel-status {
  color: #fff;
  font-size: 10px;
  padding: 5px;
  position: absolute;
  right: 0;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.9);
  top: 0;
}

.carousel:hover .slide .legend {
  opacity: 1;
}
/* [End] React Responsive Carousel */

/* [Start] Base */
#UpcartPopup {
  --upcart-transition-time: 0.249s;
}

#UpcartPopup * {
  box-sizing: border-box;
}

#UpcartPopup p {
  margin: 0;
}

#UpcartPopup div:empty {
  display: block;
}

#UpcartPopup .Stack {
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  margin-left: -20px;
  margin-top: -20px;
}

#UpcartPopup .Stack--alignmentCenter {
  align-items: center;
}

#UpcartPopup .Stack--noWrap {
  flex-wrap: nowrap;
}

#UpcartPopup .Stack__item {
  margin-left: 20px;
  margin-top: 20px;
  max-width: 100%;
}

#UpcartPopup .Stack__item--fill {
  flex: 1 1 auto;
}

#UpcartPopup .Stack--distributionLeading {
  justify-content: flex-start;
}

#UpcartPopup .Stack--spacingLoose {
  margin-left: -20px;
  margin-top: -20px;
}

#UpcartPopup .Stack--alignmentBaseline {
  align-items: baseline;
}

#UpcartPopup .Stack--distributionEqualSpacing {
  justify-content: space-between;
}

#UpcartPopup .TextStyle--variationStrong {
  font-size: 15px;
  font-weight: 600;
  line-height: 20px;
  margin-bottom: 8px;
}

@media (max-width: 600px) {
  #UpcartPopup .TextStyle--variationStrong {
    margin-bottom: 0;
  }
}

#UpcartPopup .axis-vertical {
  max-height: 200px !important;
  overflow-y: scroll;
}

#UpcartPopup .axis-vertical,
#UpcartPopup .axis-vertical ul {
  height: -moz-fit-content !important;
  height: -webkit-fit-content !important;
  height: fit-content !important;
}
/* [End] Base */

/* [Start] Theme overrides */
body[data-upcart-cart-enabled] div[id='CartDrawer'],
body[data-upcart-cart-enabled] div[id~='cart-drawer'],
body[data-upcart-cart-enabled] html[class~='js-drawer-open'] main[class~='main-content']:after {
  display: none !important;
}

body[data-upcart-cart-enabled] html[class~='js-drawer-open'],
body[data-upcart-cart-enabled] html[class~='no-scroll'] {
  overflow: auto !important;
}

body[data-upcart-cart-enabled] div[class='PageOverlay is-visible'] {
  display: none !important;
}

body[data-upcart-cart-enabled] div[class~='Drawer'][aria-hidden='false'] {
  display: none !important;
  visibility: hidden !important;
}

body[data-upcart-cart-enabled] aside[id='slideout-ajax-cart'],
body[data-upcart-cart-enabled] cart-drawer[class*='drawer'],
body[data-upcart-cart-enabled] div[class*='shopping-cart'] div[class*='mini-cart'],
body[data-upcart-cart-enabled] div[class~='js-cart-drawer-root'],
body[data-upcart-cart-enabled] div[class~='js-modal-overlay'],
body[data-upcart-cart-enabled] div[class~='js-slideout-overlay'] {
  display: none !important;
}

.upcartPopupShow {
  overflow: hidden !important;
}

.upcartPopupShow div[class~='boost-pfs-minicart-active'],
.upcartPopupShow div[class~='boost-pfs-minicart-wrapper'] {
  display: none !important;
  visibility: hidden !important;
}

.upcartPopupShow div[class='so-modal so-modal-e-and-g-upsell fade engraving-only in'],
.upcartPopupShow div[class='so-modal-backdrop fade in'] {
  display: none !important;
}

.upcartPopupShow div[class~='giraffly_PCPreview_BOX'] {
  z-index: 1000 !important;
}

.upcartPopupShow div[id~='cart-drawer'] {
  display: none !important;
}

.upcartScrollLocking-noScroll {
  overflow: hidden !important;
}

.upcartScrollLocking-allowScroll {
  overflow: scroll !important;
}

.styles_hideOnCartOpen__ {
  visibility: hidden !important;
}
/* [End] Theme overrides */

/* [Start] Surface */
.styles_CartPreview__ {
  -ms-overflow-style: none;
  background: #fff;
  margin: auto;
  overflow-x: hidden;
  scrollbar-width: none;
  top: 0;
  transition: var(--upcart-transition-time) width;
  width: var(--upcart-internal-desktop-cart-width);
  z-index: 2147483640;
}

.styles_CartPreview__ input {
  line-height: inherit;
}

.styles_CartPreview__::-webkit-scrollbar {
  display: none;
}

.styles_CartPreview__position-fixed__ {
  position: fixed;
}

.styles_CartPreview__position-absolute__ {
  position: absolute;
}

.styles_CartPreview__card__ {
  background-color: var(--p-color-bg);
  border-radius: 0;
  box-shadow: var(--p-card-shadow);
  display: flex;
  flex-direction: column;
  height: 100%;
  outline: 1px solid transparent;
}

.styles_CartPreview__card_nonSticky__ {
  height: auto;
  min-height: 100%;
}

.styles_CartPreview__left__ {
  left: calc(var(--upcart-internal-desktop-cart-width) * -1);
  transition: var(--upcart-transition-time);
}

.styles_CartPreview__left__.styles_active__ {
  left: 0;
  transition: var(--upcart-transition-time);
}

.styles_CartPreview__right__ {
  right: calc(var(--upcart-internal-desktop-cart-width) * -1);
  transition: var(--upcart-transition-time);
}

.styles_CartPreview__right__.styles_active__ {
  right: 0;
  transition: var(--upcart-transition-time);
}

.styles_CartPreview__body__ {
  -ms-overflow-style: none;
  display: flex;
  flex-direction: column;
  scrollbar-width: none;
}

.styles_CartPreview__body__::-webkit-scrollbar {
  display: none;
}

.styles_CartPreview__empty__ {
  align-items: center;
  display: flex;
  height: 100vh;
  justify-content: center;
}

.styles_CartPreview__empty__ h3 {
  color: #000;
  font-size: 22px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  margin: auto;
  text-align: center;
}

.styles_CartPreview__upsells__ > div > div {
  padding-bottom: 14px;
}

.styles_CartPreview__bottomModules__ {
  margin-top: auto;
}

.styles_CartPreview__backdrop__ {
  background: #000;
  display: none !important;
  height: 100vh;
  left: 0;
  opacity: 0.4;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 2147483639;
}

.styles_CartPreview__backdrop__.styles_active__ {
  display: block !important;
}

@media (max-width: 600px) {
  .styles_CartPreview__ {
    width: var(--upcart-internal-mobile-cart-width);
  }

  .styles_CartPreview__left__ {
    left: calc(var(--upcart-internal-mobile-cart-width) * -1);
  }

  .styles_CartPreview__right__ {
    right: calc(var(--upcart-internal-mobile-cart-width) * -1);
  }
}
/* [End] Surface */

/* [Start] Header */
.styles_Header__ {
  align-items: center;
  background-color: var(--upcart-internal-header-background-color);
  border-bottom: var(--upcart-internal-header-border-bottom);
  display: flex;
  flex-direction: var(--upcart-internal-header-flex-direction);
  flex-shrink: 0;
  justify-content: space-between;
  padding: var(--upcart-internal-desktop-header-padding-block) 30px;
}

.styles_Header__ [class='upcart-cart-quantity'] {
  color: rgba(0, 0, 0, 0.3);
  font-weight: 300;
  margin-left: 0.5ch;
}

.styles_Header__ img[class='upcart-header-logo'] {
  max-height: var(--upcart-internal-header-logo-max-height);
  max-width: 50%;
  object-fit: contain;
}

.styles_Header__ h2,
.styles_Header__ h3,
.styles_Header__ h4 {
  padding: 0 !important;
}

.styles_Header__ h2[data-internal-properties*='hasNonDefaultTitleAlignment=false'],
.styles_Header__ h3[data-internal-properties*='hasNonDefaultTitleAlignment=false'],
.styles_Header__ h4[data-internal-properties*='hasNonDefaultTitleAlignment=false'] {
  margin: 0 !important;
}

.styles_Header__ h2[data-internal-properties*='hasNonDefaultTitleAlignment=true'],
.styles_Header__ h3[data-internal-properties*='hasNonDefaultTitleAlignment=true'],
.styles_Header__ h4[data-internal-properties*='hasNonDefaultTitleAlignment=true'] {
  margin: 0 var(--upcart-internal-header-title-margin-inline) !important;
}

.styles_Header__ [data-internal-properties*='hasNonDefaultTitleAlignment=true'] {
  margin-left: var(--upcart-internal-header-title-margin-inline);
  margin-right: var(--upcart-internal-header-title-margin-inline);
  transform: translateX(
    calc(
      var(--upcart-internal-header-title-offset-direction-sign) * var(--upcart-internal-header-close-button-size) / 2
    )
  );
}

.styles_Header__ span[class='upcart-header-text'] {
  font-size: var(--upcart-internal-header-title-font-size);
  font-weight: var(--upcart-internal-header-title-font-weight);
  line-height: var(--upcart-internal-header-title-font-size);
}

.styles_Header__ span[data-internal-properties*='hasColorOverride=true'][class='upcart-header-text'] {
  color: var(--upcart-internal-header-title-color);
}

.styles_Header__closeButton__ {
  align-items: center;
  background-color: var(--upcart-internal-header-close-button-background-color);
  border-color: var(--upcart-internal-header-close-button-border-color);
  border-radius: var(--upcart-internal-global-button-border-radius);
  border-style: solid;
  border-width: var(--upcart-internal-header-close-button-border-width);
  cursor: pointer;
  display: flex;
  height: var(--upcart-internal-header-close-button-size);
  justify-content: center;
  transition: background-color 0.2s;
  width: var(--upcart-internal-header-close-button-size);
}

.styles_Header__closeButton__:active[data-internal-properties*='hasBackgroundHoverColor=true'],
.styles_Header__closeButton__:hover[data-internal-properties*='hasBackgroundHoverColor=true'] {
  background-color: var(--upcart-internal-header-close-button-background-color-hover);
}

.styles_Header__closeButton__:active[data-internal-properties*='hasBorderHoverColor=true'],
.styles_Header__closeButton__:hover[data-internal-properties*='hasBorderHoverColor=true'] {
  border-color: var(--upcart-internal-header-close-button-border-color-hover);
}

.styles_Header__closeButton__:active .styles_Header__closeButtonIcon__[data-internal-properties*='hasIconHoverColor=true'],
.styles_Header__closeButton__:hover .styles_Header__closeButtonIcon__[data-internal-properties*='hasIconHoverColor=true'] {
  fill: var(--upcart-internal-header-close-button-icon-color-hover);
  stroke: var(--upcart-internal-header-close-button-icon-color-hover);
}

.styles_Header__closeButton__:active
  .styles_Header__closeButtonIcon__[data-internal-properties*='hasNonDefaultIconStrokeWidth=false'],
.styles_Header__closeButton__:hover
  .styles_Header__closeButtonIcon__[data-internal-properties*='hasNonDefaultIconStrokeWidth=false'] {
  stroke-width: 0;
}

.styles_Header__closeButtonIcon__ {
  fill: var(--upcart-internal-header-close-button-icon-color);
  height: var(--upcart-internal-header-close-button-icon-size);
  width: var(--upcart-internal-header-close-button-icon-size);
}

.styles_Header__closeButtonIcon__[data-internal-properties*='hasNonDefaultIconStrokeWidth=true'] {
  stroke: var(--upcart-internal-header-close-button-icon-color);
  stroke-width: var(--upcart-internal-header-close-button-icon-stroke-width);
}

@media (max-width: 600px) {
  .styles_Header__ {
    padding: var(--upcart-internal-mobile-header-padding-block) 20px;
  }
}
/* [End] Header */

/* [Start] Footer */
.styles_Footer__ {
  background: #f6f6f7;
  padding: 23px 23px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.styles_Footer__alignLeft__ {
  float: left;
}

.styles_Footer__alignRight__ {
  float: right;
}

.styles_Footer__savingsCodes__ {
  display: flex;
  flex-direction: row;
  max-width: 80%;
}

.styles_Footer__slidingCodes__ {
  overflow: hidden;
  overflow-x: scroll;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}

.styles_Footer__slidingCodes__::-webkit-scrollbar {
  display: none;
}

.styles_Footer__discountSliding__ {
  overflow-x: scroll;
  overflow: hidden;
}

.styles_Footer__savings__ {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 10px;
  color: rgba(0, 0, 0, 0.8);
}

.styles_Footer__continueShopping__ {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 0 0;
  font-size: 15px;
}

.styles_Footer__continueShopping__ a:hover {
  opacity: 0.5;
  cursor: pointer;
}

.styles_Footer__subtotal__ {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0 20px 0;
  color: rgba(0, 0, 0, 0.8);
  font-weight: 500;
}

.styles_Footer__checkoutButton__ {
  text-align: center;
  margin-bottom: 0;
}

.styles_Footer__checkoutButton__ button {
  background: #000000;
  padding: 16px;
  border-radius: 0;
  border: 0;
  margin-bottom: 0;
  transition: 0.2s opacity;
}

.styles_Footer__checkoutButton__ button:hover {
  background: #000000;
  color: #ffffff;
}

.styles_Footer__checkoutButton__ button span {
  font-weight: inherit;
  font-size: 15px;
  line-height: 20px;
  color: #ffffff;
}

.styles_Footer__cartSummarySection__ {
  padding-bottom: 10px;
  padding-top: 10px;
}

.styles_Footer__cartSubtotalTitle__ {
  color: black;
  width: 100%;
  padding-left: 0px;
  padding-right: 0px;
  font-weight: normal;
  font-size: 20px;
  margin-right: 8px;
}

.styles_Footer__cartSubtotalValue__ {
  color: black;
  font-size: 20px;
}

@media (max-width: 375px) {
  .styles_Footer__ [class~='TextStyle--variationStrong'] {
    font-size: 14px;
    margin-bottom: 4px;
  }

  .styles_Footer__ [class~='TextStyle--variationSubdued'] {
    font-size: 12px;
  }
}

@media (max-width: 330px) {
  .styles_Footer__ [class~='TextStyle--variationSubdued'] {
    font-size: 10px;
  }
}
/* [End] Footer */

/* [Start] Announcement Module */
.styles_Announcement__ {
  text-align: center;
  background: #dbebf6;
  padding: var(--upcart-internal-desktop-announcement-padding-block) 33px;
  border-top: 1px solid #c5e6fd;
  border-bottom: 1px solid #c5e6fd;
  font-size: var(--upcart-internal-announcement-text-font-size);
  line-height: 120%;
  text-wrap: balance;
}

.styles_Announcement__:empty {
  display: none;
}

@media (max-width: 600px) {
  .styles_Announcement__ {
    padding: var(--upcart-internal-mobile-announcement-padding-block) 10px;
  }
}
/* [End] Announcement Module */

/* [Start] Rewards Module */
.styles_Rewards__ {
  font-size: 15px;
  line-height: 20px;
  padding: 18px 30px;
  text-align: center;
}

.styles_Rewards__progressBar__ {
  background: #e4e5e7;
  border-radius: 16px;
  height: 10px;
  margin-top: 6px;
  overflow: hidden;
  width: 100%;
}

.styles_Rewards__progressBar--progress__ {
  background-color: #93d3ff;
  height: inherit;
  overflow: hidden;
  transition: all 0.5s ease 0s;
}

.styles_Rewards__progressBar--progress__:empty {
  display: block;
}

.styles_rewardsDescription__ {
  word-wrap: normal;
  font-size: x-small;
  line-height: 1.25;
  margin-top: 5px;
}

.styles_TieredRewards__ {
  font-size: 15px;
  line-height: 20px;
  padding: 18px 30px 5px;
  text-align: center;
}

.styles_TieredRewards__tiersContainer__ {
  display: flex;
  justify-content: space-between;
  margin-top: -25px;
}

.styles_TieredRewards__tierCircleAndDescription__ {
  align-items: center;
  display: flex;
  flex-direction: column;
  max-height: 100px;
  max-width: 75px;
  min-width: 75px;
  width: 75px;
}

.styles_TieredRewards__tierCircleAndDescription--exactlyCenter__ {
  transform: translateX(50%);
}

.styles_TieredRewards__tierCircleAndDescription--leftOfCenter__ {
  margin-left: -20px;
  transform: translateX(20px);
}

.styles_TieredRewards__tierCircle__ {
  border-radius: 50%;
  display: flex;
  height: 40px;
  margin-left: 2.5px;
  margin-right: 2.5px;
  width: 40px;
}

.styles_TieredRewards__tierCircle--reached__ {
  color: #93d3ff;
}

.styles_TieredRewards__progressBar__ {
  background: #e4e5e7;
  border-radius: 16px;
  height: 10px;
  margin-top: 22.5px;
  overflow: hidden;
  width: 100%;
}

.styles_TieredRewards__progressBar--progress__ {
  background-color: #93d3ff;
  height: inherit;
  overflow: hidden;
  transition: all 0.5s ease 0s;
}

.styles_TieredRewards__progressBar--progress__:empty {
  display: block;
}

@media (max-width: 600px) {
  .styles_Rewards__ {
    padding: 20px;
  }
}
/* [End] Rewards Module */

/* [Start] Recommendations Module */
.styles_PreviewRecommendations__ {
  padding: 15px 30px 15px 30px;
}

.styles_PreviewRecommendations__title__ {
  text-align: center;
  padding: 0px 30px 0px 30px;
  font-size: 18px;
  margin: 1em 0;
}

.styles_PreviewRecommendations__shopButton__ {
  text-align: center;
}
/* [End] Recommendations Module */

/* [Start] Add-ons Module */
.styles_AddonsModule__ {
  margin-bottom: 20px;
}

.styles_AddonsModule__ h3 {
  margin-top: 0;
}

.styles_AddonsModule__ [class~='TextStyle--variationSubdued'] {
  font-size: 13px;
  line-height: 16px;
}

.styles_AddonsModule__ [class~='TextStyle--variationSubdued'] p {
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  height: 33px;
  overflow: hidden;
}

.styles_AddonsModule__ [class~='Stack__item']:last-child {
  display: flex;
}

.styles_AddonsModule__title__ {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.styles_AddonsModule__title__ span {
  font-size: 13px;
  margin-bottom: 5px;
}

.styles_AddonsModule__image__ {
  align-items: center;
  background: #eaeaea;
  display: flex;
  height: 60px;
  justify-content: center;
  padding: 0;
  width: 60px;
}

.styles_AddonsModule__image__ img {
  max-height: 60px;
  max-width: 60px;
}

.styles_AddonsModule__price__ {
  display: flex;
}

.styles_AddonsModule__price--compare__ {
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  margin-right: 9px;
  text-decoration-line: line-through;
}

.styles_AddonsModule__toggle__ {
  align-self: center;
}

@media (max-width: 600px) {
  .styles_AddonsModule__ {
    padding: 0;
  }

  .styles_AddonsModule__shipping__ {
    margin-bottom: 10px;
  }

  .styles_AddonsModule__image__ {
    height: 50px;
    width: 50px;
  }

  .styles_AddonsModule__image__ img {
    max-height: 50px;
    max-width: 50px;
  }
}

@media (max-width: 375px) {
  .styles_AddonsModule__ [class~='TextStyle--variationStrong'] {
    font-size: 14px;
    margin-bottom: 4px;
  }

  .styles_AddonsModule__ [class~='TextStyle--variationSubdued'] {
    font-size: 12px;
  }
}

@media (max-width: 330px) {
  .styles_AddonsModule__ [class~='TextStyle--variationSubdued'] {
    font-size: 10px;
  }
}

.styles_ToggleSwitch__ {
  background: #c4cdd5;
  border: 2px solid #fff;
  border-radius: 100px;
  box-shadow:
    0 1.6875px 0 rgba(22, 29, 37, 0.1),
    inset 0 1.6875px 0 1.6875px hsla(0, 0%, 100%, 0.06);
  box-sizing: border-box;
  cursor: pointer;
  height: 27px;
  margin-right: 0;
  padding: 2px;
  position: relative;
  width: 54px;
}

.styles_ToggleSwitch__loader__ {
  animation: upcart-addons-toggle-spin 2s linear infinite;
  border: 1.5px solid #fff;
  border-radius: 50%;
  border-top-color: transparent;
  height: 12px;
  width: 12px;
}

.styles_ToggleSwitch__circle__ {
  background: #fff;
  border-radius: 100%;
  height: 19px;
  left: 0;
  position: relative;
  top: 0;
  transition: left 0.3s ease-out;
  width: 19px;
}

.styles_ToggleSwitch__circle__:empty {
  display: block;
}

.styles_ToggleSwitch__circle--active__ {
  left: 27px;
}

.styles_ToggleSwitch__loading__ {
  bottom: 0;
  height: 10px;
  left: 26px;
  margin: auto;
  position: absolute;
  top: 0;
}

.styles_ToggleSwitch__checkMark__ {
  bottom: 0;
  height: 10px;
  left: 10px;
  margin: auto;
  position: absolute;
  top: 0;
}

.styles_ToggleSwitch__checkMark__ svg {
  display: block;
  height: 10px !important;
  width: 11px !important;
}

.styles_ToggleSwitch--active__ {
  background: #0dcd8d;
  border: 2px solid #fff;
}

@media (max-width: 330px) {
  .styles_ToggleSwitch__ {
    height: 19px !important;
    width: 38px !important;
  }

  .styles_ToggleSwitch__circle__ {
    height: 13px !important;
    left: 17px !important;
    top: -1px !important;
    width: 13px !important;
  }
}

@keyframes upcart-addons-toggle-spin {
  0% {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}
/* [End] Add-ons Module */

/* [Start] Notes Module */
.NotesModule_NotesModule__ {
  padding: 20px;
}

.NotesModule_NotesModule__[data-placement='topOfFooter'] {
  margin-bottom: 20px;
  padding: 0;
}

.NotesModule_NotesModule__confirmation__ svg {
  fill: #008060;
  height: 12px;
  width: 12px;
}

.NotesModule_NotesModule__textModule__ {
  margin-top: 15px;
}

.NotesModule_NotesModule__loader__ {
  animation: upcart-notes-module-spin 2s linear infinite;
  border: 1.5px solid #637381;
  border-radius: 50%;
  border-top-color: transparent;
  height: 12px;
  width: 12px;
}

.NotesModule_NotesModule__titleContainer__ {
  align-items: center;
  display: flex;
  gap: 8px;
}

.NotesModule_NotesModule__dropdownContainer__ {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 8px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.NotesModule_NotesModule__dropdownContainer__ svg {
  height: 15px;
  width: 15px;
}

.NotesModule_NotesModule__dropdownContainer__:hover {
  opacity: 0.8;
}

.NotesModule_NotesModule__dropdownContainer__:active {
  opacity: 1;
}

@keyframes upcart-notes-module-spin {
  0% {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}
/* [End] Notes Module */

/* [Start] Trust Badges Module */
.TrustBadgesModule_trustBadgeContainer__ {
  padding: 15px 5px 0 5px;
  margin: auto;
}
/* [End] Trust Badges Module */

/* [Start] Discount Code Module */
.DiscountCodeModule_DiscountCodeModule__ {
  margin-bottom: 10px;
}

.DiscountCodeModule_DiscountCodeModule__loader__ {
  border: 1.5px solid #637381;
  border-top: 1.5px solid transparent;
  border-radius: 50%;
  width: 14px;
  height: 14px;
  animation: upcart-discount-code-module-spin 2s linear infinite;
}

.DiscountCodeModule_DiscountCodeModule__inputWrapper__ {
  display: flex;
  background-color: #ffffff;
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.1);
  justify-content: center;
  align-items: center;
  position: relative;
}

.DiscountCodeModule_DiscountCodeModule__suffix__ {
  position: absolute;
  right: 8px;
  margin-top: auto;
  margin-bottom: auto;
  color: #7b7b93;
}

.DiscountCodeModule_DiscountCodeModule__form__ {
  display: flex;
  width: 100%;
  gap: 10px;
}

.DiscountCodeModule_DiscountCodeModule__form__ input {
  position: relative;
  flex: 1;
  font-size: 16px;
  height: 42px;
  padding: 0px 12px;
  border-radius: 0px;
  border: none;
  background-color: #fff;
  color: #000;
  margin: 0px;
  width: 100%;
}

.DiscountCodeModule_DiscountCodeModule__form__ button {
  padding: 0px 25px;
  margin: 0px;
  font-size: 14px;
  border: none;
  cursor: pointer;
  font-weight: 600;
  transition: 0.2s opacity;
}

.DiscountCodeModule_DiscountCodeModule__form__ button:hover {
  opacity: 0.8;
}

.DiscountCodeModule_DiscountCodeModule__error__ {
  color: rgb(255, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  animation: upcart-discount-code-module-fade-out 1.5s forwards;
}

.DiscountCodeModule_DiscountCodeModule__error__ svg {
  fill: rgb(255, 0, 0, 0.7);
  width: 18px;
  height: 18px;
}

@keyframes upcart-discount-code-module-spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes upcart-discount-code-module-fade-out {
  0% {
    opacity: 1;
  }

  75% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}
/* [End] Discount Code Module */

/* [Start] Subscription Upgrades Module */
.SubscriptionUpgradesModule_section__ {
  margin-top: 8px;
  width: 100%;
}

.SubscriptionUpgradesModule_button__ {
  border: none;
  box-shadow: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  height: 36px;
  position: relative;
  width: 100%;
}

.SubscriptionUpgradesModule_button__:disabled {
  cursor: default;
}

.SubscriptionUpgradesModule_loader__ {
  animation: upcart-subscription-upgrades-module-spin 2s linear infinite;
  border-radius: 50%;
  height: 20px;
  left: 50%;
  position: absolute;
  top: 50%;
  width: 20px;
}

@keyframes upcart-subscription-upgrades-module-spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

.SubscriptionUpgradesModule_dropdownWrapper__ {
  height: 36px;
  max-height: 36px;
  min-height: auto;
  position: relative;
  width: 100%;
}

.SubscriptionUpgradesModule_dropdown__ {
  appearance: none;
  background: #fff;
  border: 1px solid #dfe3e8;
  border-radius: 0;
  cursor: pointer;
  font-size: 14px;
  height: 36px;
  line-height: normal;
  max-height: 36px;
  min-height: auto;
  outline: 0;
  padding: 0 20px 0 9px;
  width: 100%;
}

.SubscriptionUpgradesModule_dropdownIcon__ {
  bottom: 0;
  height: 5px;
  margin: auto;
  position: absolute;
  right: 15px;
  top: 0;
  width: 8px;
}

.SubscriptionUpgradesModule_dropdownIcon__ svg {
  display: block;
  height: 5px !important;
  width: 8px !important;
}
/* [End] Subscription Upgrades Module */

/* [Start] Express Pay Module */
.ExpressPayButtonsModule_container__ {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}

.ExpressPayButtonsModule_row__ {
  display: flex;
  flex-direction: row;
  gap: 8px;
}

@media (max-width: 350px) {
  .ExpressPayButtonsModule_row__ {
    flex-direction: column;
  }
}

.ExpressPayButtonsModule_expressPayButtonsContainer__ #dynamic-checkout-cart:has(shopify-accelerated-checkout-cart) {
  margin-top: 8px;
}

.ExpressPayButtonsModule_expressPayButtonsContainer__ .hidden {
  display: none;
}

.ExpressPayButtonsModule_expressPayButtonsContainer--hide-buyer-consent__ #shopify-buyer-consent {
  display: none;
}

.ExpressPayButton_button__ {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  height: 42px;
  width: 100%;
  border: none;
  padding: 0 10px;
}
/* [End] Express Pay Module */

/* [Start] Skeleton Loaders */
.styles_imageLarge__ {
  height: 85px;
  width: 85px;
}

.styles_imageMedium__ {
  height: 60px;
  width: 60px;
}

.styles_imageSmall__ {
  height: 30px;
  width: 30px;
}

.styles_textLarge__ {
  height: 15px;
}

.styles_textMedium__ {
  height: 12px;
}

.styles_textSmall__ {
  height: 10px;
}

.styles_skeleton__ {
  --loading-grey: #ededed;
}

.styles_shimmer__ {
  background-color: var(--loading-grey);
  background: linear-gradient(
      100deg,
      rgba(255, 255, 255, 0) 40%,
      rgba(255, 255, 255, 0.5) 50%,
      rgba(255, 255, 255, 0) 60%
    )
    var(--loading-grey);
  background-size: 200% 100%;
  background-position-x: 180%;
  animation: 1s upcart-skeleton-loading ease-in-out infinite;
  border-radius: 0.5rem;
}

@keyframes upcart-skeleton-loading {
  to {
    background-position-x: -20%;
  }
}

.styles_skeleton__ .styles_textLarge__,
.styles_skeleton__ .styles_textMedium__,
.styles_skeleton__ .styles_textSmall__ {
  animation-delay: 0.05s;
}

.styles_skeleton__ .styles_description__ {
  min-height: 4rem;
  border-radius: 4px;
  animation-delay: 0.06s;
}
/* [End] Skeleton Loaders */

/* [Start] Large Buttons */
.styles_CustomButton__ a {
  cursor: pointer;
  display: block;
  font-size: 10px;
  font-weight: 600;
  padding: 7px 14px;
  text-decoration: none;
  text-decoration: initial;
  transition: opacity 0.3s;
}

.styles_CustomButton__ a:hover {
  opacity: 0.8;
}

.styles_CustomButton__default__ {
  max-width: 70px;
}

.styles_CustomButton__fullWidth__ {
  font-size: 15px !important;
  line-height: 1.5;
  max-width: 100%;
}

.styles_CustomButton__fullHight__ {
  padding: 14px !important;
}

.styles_CustomButton__loading__ {
  pointer-events: none;
  position: relative;
}

.styles_CustomButton__loading__ a {
  opacity: 0.5;
}

.styles_CustomButton__loading__ * {
  color: transparent !important;
}

.styles_CustomButton__loadingIcon__ {
  animation: upcart-custom-button-spin 2s linear infinite;
  border-radius: 50%;
  height: 20px;
  left: 50%;
  position: absolute;
  top: 50%;
  width: 20px;
}

@keyframes upcart-custom-button-spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

@media (max-width: 430px) {
  .styles_CustomButton__ > a {
    display: block;
    height: auto;
    width: 100%;
  }
}
/* [End] Large Buttons */

/* [Start] Upsells Module */
.styles_PreviewCarousel__ {
  padding: 15px 30px;
}

.styles_PreviewCarousel__verticalWrapper__ {
  margin-top: 15px;
}

.styles_PreviewCarousel__tileLoading__ {
  opacity: 0.5;
}

.styles_PreviewCarousel__loader__ {
  animation: upcart-upsells-carousel-spin 2s linear infinite;
  border: 3px solid #637381;
  border-radius: 50%;
  border-top-color: transparent;
  height: 30px;
  left: 50%;
  margin-top: -15px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 30px;
  z-index: 1000;
}

.styles_PreviewCarousel__itemWrapper__ {
  align-items: center;
  display: flex;
  flex-direction: row;
}

.styles_PreviewCarousel__ [class~='control-arrow'] {
  padding: 0 !important;
  top: -6px !important;
}

.styles_PreviewCarousel__ [class~='control-arrow']:hover {
  background: transparent !important;
}

.styles_PreviewCarousel__ [class~='Stack'] {
  margin: 0;
  text-align: left;
}

.styles_PreviewCarousel__ [class~='Stack__item'] {
  margin: 0;
}

.styles_PreviewCarousel__ [class~='Stack__item--fill'] {
  margin-left: 12px;
}

.styles_PreviewCarousel__ form {
  margin: 0;
}

.styles_PreviewCarousel__item__ {
  background: #f6f6f7;
  overflow: hidden;
  padding: 15px;
  position: relative;
}

.styles_PreviewCarousel__item__ [class~='Stack__item--fill'] {
  width: calc(100% - 130px);
}

.styles_PreviewCarousel__itemTitle__ {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  margin-bottom: 7px;
}

.styles_PreviewCarousel__itemTitle__ > a {
  text-decoration: none;
  width: 100%;
}

.styles_PreviewCarousel__itemTitle__ > a:hover {
  opacity: 0.7;
}

.styles_PreviewCarousel__itemTitle__ > a:active {
  opacity: 0.5;
}

.styles_PreviewCarousel__itemTitle__ .styles_PreviewCarousel__itemPrice__ {
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
}

.styles_PreviewCarousel__itemTitle__ .styles_PreviewCarousel__itemPrice--discount__ {
  font-size: 12px;
  font-weight: 400;
  margin-right: 10px;
  opacity: 0.6;
  text-decoration-line: line-through;
}

.styles_PreviewCarousel__ [class~='carousel-slider'] {
  overflow: visible;
}

.styles_PreviewCarousel__ [class~='carousel-slider'] img {
  height: auto;
  width: inherit;
}

.styles_PreviewCarousel__ [class~='control-arrow'] {
  height: 100%;
  max-height: 100%;
  min-height: 100%;
}

.styles_PreviewCarousel__ [class~='control-next'] {
  opacity: 1 !important;
  right: -22px !important;
}

.styles_PreviewCarousel__ [class~='control-next']:before {
  background: transparent;
  border-color: #000 !important;
  border-style: solid !important;
  border-width: 2px 2px 0 0 !important;
  height: 7px;
  margin-bottom: 0 !important;
  transform: rotate(45deg);
  width: 7px;
}

.styles_PreviewCarousel__ [class~='control-prev'] {
  left: -22px !important;
  opacity: 1 !important;
}

.styles_PreviewCarousel__ [class~='control-prev']:before {
  background: transparent;
  border-color: #000 !important;
  border-style: solid !important;
  border-width: 0 0 2px 2px !important;
  height: 7px;
  margin-bottom: 0 !important;
  transform: rotate(45deg);
  width: 7px;
}

.styles_PreviewCarousel__variationProduct__ {
  display: flex;
  justify-content: space-between;
}

.styles_PreviewCarousel__selectWrapper__ {
  height: 36px;
  max-height: 36px;
  min-height: auto;
  padding-right: 8px;
  position: relative;
  width: 50%;
}

.styles_PreviewCarousel__select__ {
  appearance: none;
  background: #fff;
  border: 1px solid #dfe3e8;
  border-radius: 0;
  cursor: pointer;
  font-size: 12px;
  height: 36px;
  line-height: normal;
  max-height: 36px;
  min-height: auto;
  outline: 0;
  padding: 0 20px 0 9px;
  width: 100%;
}

.styles_PreviewCarousel__inputWrapper__ {
  flex-basis: calc(50% - 8px);
  flex-grow: 1;
  flex-shrink: 1;
  width: 100%;
}

.styles_PreviewCarousel__button__ {
  background: #000;
  border: 0 !important;
  border-radius: 0;
  color: #fff;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  height: 36px !important;
  margin: 0;
  max-height: 36px !important;
  min-height: 36px !important;
  padding: 7px 16px !important;
  width: 100% !important;
}

.styles_PreviewCarousel__button__:hover {
  color: #606060;
}

.styles_PreviewCarousel__imageWrapper__ {
  align-items: center;
  display: flex;
  height: 90px !important;
  justify-content: center;
  text-align: center;
  width: 90px !important;
}

.styles_PreviewCarousel__imageWrapper__ a {
  display: flex;
}

.styles_PreviewCarousel__imageWrapper__ a img[class~='upcart-upsell-item-image'] {
  max-height: 90px;
  max-width: 90px;
}

.styles_SelectArrow__ {
  bottom: 0;
  height: 5px;
  margin: auto;
  position: absolute;
  right: 15px;
  top: 0;
  width: 8px;
}

.styles_SelectArrow__ svg {
  display: block;
  height: 5px !important;
  width: 8px !important;
}

@media (max-width: 600px) {
  .styles_PreviewCarousel__ {
    padding: 10px 20px;
  }

  .styles_PreviewCarousel__item__ {
    padding: 5px;
  }

  .styles_PreviewCarousel__imageWrapper__ {
    height: 80px !important;
    width: 80px !important;
  }

  .styles_PreviewCarousel__imageWrapper__ a img[class~='upcart-upsell-item-image'] {
    max-height: 80px;
    max-width: 80px;
  }

  .styles_PreviewCarousel__variationProduct__ select {
    font-size: 12px;
    height: 30px;
  }

  .styles_PreviewCarousel__variationProduct__ input {
    height: 30px;
  }

  .styles_PreviewCarousel__ [class~='carousel-slider'] img {
    height: auto;
    width: 100%;
  }

  .styles_PreviewCarousel__ [class~='control-next'] {
    right: -17px !important;
  }

  .styles_PreviewCarousel__ [class~='control-prev'] {
    left: -17px !important;
  }

  .styles_PreviewCarousel__ [class~='control-arrow'] {
    padding: 0 !important;
  }

  .styles_PreviewCarousel__ [class~='control-arrow']:hover {
    background: transparent !important;
  }
}

@media (max-width: 320px) {
  .styles_PreviewCarousel__item__ {
    padding: 10px;
  }
}

.styles_title__ {
  font-size: 15px;
  padding: 0 30px;
  text-align: center;
}

.styles_itemTitle__ {
  display: block;
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 5px;
  margin-top: 0;
  overflow: hidden !important;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}

@keyframes upcart-upsells-carousel-spin {
  0% {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}
/* [End] Upsells Module */

/* [Start] Discount Code Badges */
.DiscountCodeBadge_discountBadge__ {
  display: inline-flex;
  padding: 2px 3px 2px 5px;
  vertical-align: middle;
  align-items: center;
  background: rgba(0, 0, 0, 0.05);
  border-radius: 3px;
  font-weight: 600;
  margin-left: 8px;
  color: #585858;
}

.DiscountCodeBadge_discountBadge__ svg {
  width: 15px;
  height: 15px;
  fill: #585858;
}

.DiscountCodeBadge_icon__ {
  display: flex;
  align-items: center;
  justify-content: center;
}

span.DiscountCodeBadge_title__ {
  text-transform: uppercase;
  margin: 0 5px;
  font-size: 13px;
}

.DiscountCodeBadge_close__ {
  cursor: pointer;
  height: 20px;
  width: 20px;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.DiscountCodeBadge_close__:hover {
  background: rgba(0, 0, 0, 0.05);
}

.DiscountCodeBadge_close__:active {
  background: rgba(0, 0, 0, 0.1);
}

.DiscountCodeBadge_loader__ {
  border: 1.5px solid #585858;
  border-top: 1.5px solid transparent;
  border-radius: 50%;
  width: 12px;
  height: 12px;
  animation: upcart-discount-code-badge-spin 2s linear infinite;
}

@keyframes upcart-discount-code-badge-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* [End] Discount Code Badges */

/* [Start] Product Row */
.styles_ProductRow__cartDiscountFormat__ {
  font-size: 15px;
  font-weight: 800;
}

.styles_ProductRow__ProductPrice__ {
  font-size: 15px;
  font-weight: 500;
}

.styles_ProductRow__loader__ {
  animation: upcart-product-row-spin 2s linear infinite;
  border: 3px solid #637381;
  border-radius: 50%;
  border-top-color: transparent;
  height: 30px;
  left: 50%;
  margin-top: -15px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 30px;
  z-index: 1000;
}

.styles_ProductRow__imageWrapper__ {
  align-items: center;
  display: flex;
  height: 88px;
  justify-content: center;
  overflow: hidden;
  text-align: center;
  width: 88px;
}

.styles_ProductRow__imageWrapper__ a {
  color: inherit;
  max-height: 88px;
  text-decoration: none;
  text-decoration: initial;
}

.styles_ProductRow__imageWrapper__ a img {
  height: auto;
  max-height: 88px;
  width: 100%;
}

.styles_ProductRow__product__ {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding: 20px 30px;
  position: relative;
}

.styles_ProductRow__product__ a[data-no-pointer='true'] {
  pointer-events: none;
}

.styles_ProductRow__product__LoadingTile__ {
  opacity: 0.5;
}

.styles_ProductRow__product__:after {
  bottom: 0;
  content: '';
  height: 1px;
  position: absolute;
  width: calc(100% - 60px);
}

.styles_ProductRow__product__ [class~='Stack__item--fill'] {
  width: calc(100% - 130px);
}

.styles_ProductRow__productHeading__ {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  position: relative;
}

.styles_ProductRow__productHeading__ [class~='TextStyle--variationSubdued'] {
  font-size: 14px;
  line-height: normal;
  margin-top: 2px;
}

.styles_ProductRow__productTitle__ {
  font-size: 15px;
  line-height: 20px;
  margin: 0;
  padding: 0;
  text-align: left;
}

.styles_ProductRow__productTitleLink__ {
  color: inherit;
  display: block;
  inline-size: auto;
  margin-right: 10px;
  overflow-wrap: break-word;
  text-decoration: none;
  text-decoration: initial;
}

.styles_ProductRow__productTitleLink__:hover {
  opacity: 0.7;
}

.styles_ProductRow__productTitleLink__:active {
  opacity: 0.5;
}

.styles_ProductRow__productTitleAndVariant__ {
  overflow: hidden;
}

.styles_ProductRow__stepper__ {
  background: #fff;
  padding: 0;
}

.styles_ProductRow__price__ {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.2;
  text-align: right;
}

/* The `> span` is in case a merchant's money format includes a span */
.styles_ProductRow__price__ .styles_Price__compareAtPrice__,
.styles_ProductRow__price__ .styles_Price__compareAtPrice__ > span {
  font-size: 15px;
  font-weight: 400;
  margin-left: 0;
  text-decoration-line: line-through;
}

.styles_ProductRow__priceRow__ {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.styles_ProductRow__stepperValue__ {
  border-left: 1px solid #dfe3e8;
  border-right: 1px solid #dfe3e8;
  padding: 11px 10px;
}

.styles_ProductRow__discount__ {
  position: absolute;
  right: 0;
  width: 180px;
}

.styles_BundleProperties__ColumnContainer__ {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.styles_BundleProperties__ItemComponentRow__ {
  display: flex;
  gap: 0.75rem;
}

.styles_BundleProperties__ItemComponentImageWrapper__ {
  align-items: center;
  border: 1px solid #ddd;
  border-radius: 0.3rem;
  display: flex;
  flex-shrink: 0;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.styles_BundleProperties__ItemComponentImage__ {
  border-radius: 0.15rem;
  max-height: 32px;
  max-width: 32px;
}

.styles_BundleProperties__ItemComponentContent__ {
  display: flex;
  flex-direction: column;
  font-size: 1.25rem;
  gap: 0.2rem;
  justify-content: center;
  line-height: 1.2;
  padding: 0.05rem 0;
}

.styles_BundleProperties__variantTitle__ {
  color: gray;
  font-size: 90%;
  line-height: 1.2;
}

.styles_BundleProperties__toggleButton__ {
  all: unset;
  align-items: center;
  align-self: flex-start;
  display: inline-flex;
  font-size: 90%;
  gap: 0.25rem;
  line-height: 1.2;
}

.styles_BundleProperties__toggleButton__:hover {
  cursor: pointer;
}

@media (max-width: 600px) {
  .styles_ProductRow__imageWrapper__ {
    height: 70px;
    width: 70px;
  }

  .styles_ProductRow__imageWrapper__ a,
  .styles_ProductRow__imageWrapper__ a img {
    max-height: 70px;
  }

  .styles_ProductRow__product__ {
    padding: 15px 20px;
  }

  .styles_ProductRow__product__:after {
    width: calc(100% - 40px);
  }
}

@keyframes upcart-product-row-spin {
  0% {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.styles_QuantityField__ {
  display: flex;
  align-items: center;
}

.styles_QuantityField__loader__ {
  border: 1.5px solid #637381;
  border-top: 1.5px solid transparent;
  border-radius: 50%;
  width: 12px;
  height: 12px;
  animation: upcart-quantity-field-spin 2s linear infinite;
}

.styles_QuantityField__ svg {
  width: 12px !important;
  height: 12px !important;
  fill: #363636;
}

.styles_button__ {
  background: #fff;
  border: 1px solid #ddd;
  width: 30px;

  /* we specify all height properties to override theme settings */
  height: 30px;
  min-height: 30px;
  max-height: 30px;

  text-align: center;
  padding: 0;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #ddd;
  transition: 0.2s background-color;
}

.styles_button__ svg {
  fill: #637381;
}

.styles_button__:hover svg {
  fill: #000;
}

.styles_button__:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.styles_button__:active {
  background-color: rgba(0, 0, 0, 0.08);
}

.styles_quantityMinus__ {
  border-top-left-radius: 2px;
  border-bottom-left-radius: 2px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.styles_quantityPlus__ {
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.styles_quantityInput__ {
  -webkit-appearance: none;
  -webkit-text-fill-color: #000;
  width: 45px;
  height: 30px;
  border-radius: 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  border-left: none;
  border-right: none;
  padding: 0;
  margin: 0;
  text-align: center;
  background: #fff;
  color: #000;
  font-size: 14px;
  opacity: 1;
  min-height: 30px;
  max-height: 30px;
}

.styles_quantityInput__:focus-visible {
  outline: none;
}

.styles_quantityInput__::-webkit-outer-spin-button,
.styles_quantityInput__::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

@keyframes upcart-quantity-field-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.styles_TrashButton__deleteButton__ {
  border-radius: 1px;
  display: flex;
  cursor: pointer;
  justify-content: center;
  align-items: center;
  transition: 0.2s stroke;
}
.styles_TrashButton__deleteButton__ svg {
  min-width: 15px !important;
  height: 15px !important;
  fill: transparent !important;
}
.styles_TrashButton__deleteButton__ svg:hover path {
  stroke: #d30000;
}

.styles_TrashButton__loader__ {
  border: 1.5px solid #637381;
  border-top: 1.5px solid transparent;
  border-radius: 50%;
  width: 12px;
  height: 12px;
  animation: upcart-trash-button-spin 2s linear infinite;
}

@keyframes upcart-trash-button-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* [End] Product Row */

/* [Start] Sticky Cart */
.styles_StickyWidget__ {
  position: var(--upcart-sticky-position);
  height: 82px;
  width: 82px;
  border-radius: 50%;
  z-index: 2147483638;
  cursor: pointer;

  background: var(--upcart-sticky-background);
  top: var(--upcart-sticky-top);
  bottom: var(--upcart-sticky-bottom);
  right: var(--upcart-sticky-right);
  left: var(--upcart-sticky-left);

  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

.styles_CartQuantityIcon__ {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;

  position: absolute;
  top: 5px;
  left: 60px;
  width: 25px;
  height: 25px;

  border-radius: 100px;
}

.styles_CartQuantityIconText__ {
  color: white;
  font-family: 'SF Pro Text';
  font-style: normal;
  font-weight: 700;
  font-size: 14px;
  line-height: 14px;
}

.styles_CartIcon__ {
  position: absolute;
  top: 18px;
  left: 18px;
}

@media (max-width: 1350px) {
  .styles_StickyCart__ {
    margin: auto;
  }
}

@media (max-width: 500px) {
  .styles_StickyCart__ {
    max-width: 44rem;
    width: 100%;
  }

  .styles_hideMobile__ {
    display: none;
  }
}

@media (min-width: 501px) {
  .styles_hideDesktop__ {
    display: none;
  }
}
/* [End] Sticky Cart */
