/** Shopify CDN: Minification failed

Line 727:38 Expected ":"
Line 1603:16 Unexpected "{"
Line 1603:25 Expected ":"
Line 1613:16 Unexpected "{"
Line 1613:25 Expected ":"
Line 1619:16 Unexpected "{"
Line 1619:25 Expected ":"
Line 1630:16 Unexpected "{"
Line 1630:25 Expected ":"
Line 1630:31 Unexpected ","
... and 30 more hidden warnings

**/
.breadcrumb-truncate{
  display: -webkit-box;
  line-clamp: 1;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.product-next-prev {
  --product-item__price-top: 0.8rem;
}
.nav-back .tooltip-content {
  z-index: 20;
}
.hover-event .product-item {
  min-width: 28rem;
  max-width: 28rem;
  top: calc(100% + 1.5rem);
}
.hover-event:hover .product-item {
  opacity: 1;
  visibility: visible;
  top: 100%;
}
.copied .active-hide {
  display: none;
}
.copied .active-show {
  display: block;
}
.compare__items .compare__items-inner {
  margin-top: 3rem;
}
.compare__items img {
  border-radius: var(--rounded-radius);
}
.compare__items span {
  display: block;
  margin-top: 1rem;
  color: var(--color-heading);
  font-weight: var(--heading-weight);
}

.progressbar-stock {
  width: var(--percent, 100%);
  background-color: var(--color-primary);
  transition: width .6s cubic-bezier(.7,0,.3,1) .1s;
}

/* Media gallery */
.thumbnail-slide :where(.swiper-actions:not(.show-arrow) .swiper-arrow),
.thumbnail-slide
  :is(.swiper-actions:not(.show-arrow) .swiper-arrow.swiper-button-disabled) {
  --swiper-width: 3.5rem;
  --swiper-size: 1rem;
  --swiper-navigation-sides-offset: 15px;
}
.thumbnail-slide.swiper:hover
  .swiper-actions:not(.show-arrow)
  :is(.swiper-button-next, .swiper-button-prev) {
  --swiper-navigation-sides-offset: 5px;
}

.thumb-bottom.swiper:not([class*="initialized"]) .swiper-wrapper .swiper-slide {
  width: calc((100% - (var(--gap) * 3)) / 4);
}
.thumbnail-slide [class*="media-gallery__"]:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  pointer-events: none;
  border: 1px solid transparent;
  border-radius: inherit;
  overflow: hidden;
}
.thumbnail-slide [class*="media-gallery__"].swiper-slide-thumb-active:after {
  border-color: 1px solid var(--color-heading);
}
[data-type="open_lightbox"] .media-main-swiper .media-gallery__image {
  cursor: zoom-in;
}
@media (min-width: 768px) {
  .stacked {
    grid-template-columns: repeat(2, 1fr);
  }
  .stacked > *:nth-child(3n + 1) {
    grid-column: 1 / 3;
  }
  .thumbnail_left .media-main-swiper {
    width: calc(100% - 6rem);
  }
  .thumbnail_left .media-thumb-swiper,
  .thumbnail_left .swiper-vertical {
    height: 100%;
  }
  .thumbnail_left .media-thumb-swiper {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 5rem;
    order: -1;
    margin-top: 0;
    --swiper-navigation-sides-offset: 0;
    --arrows-offset-top: 1.5rem;
  }
  .thumbnail_left .swiper-slide {
    height: auto !important;
  }
}
/* Custom upload */
product-property + product-property {
  margin-top: -1rem;
}
input#custom-image-upload {
  font-family: var(--base-font-family);
}
input#custom-image-upload::-webkit-file-upload-button {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  width: 0;
}
.btn-upload-cloud {
  height: var(--input-height);
  align-items: center;
}
.btn-upload-cloud .custom-file-upload {
  border-radius: 0 var(--btn-radius) var(--btn-radius) 0;
}
.btn-upload-cloud:focus {
  filter: brightness(95%);
}
/* Product meta */
.product-detail__meta-label {
  min-width: clamp(9rem, 5vw, 12rem);
}
.product-detail__meta-value a {
  text-decoration: none;
}
.product-detail__meta-value a:not(:hover) {
  color: var(--color-heading);
}
.drift-zoom-pane {
  /* background: rgba(0, 0, 0, 0.5); */
  /* This is required because of a bug that causes border-radius to not
  work with child elements in certain cases. */
  background: rgba(0, 0, 0, 0.5);
  transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
  z-index: 3;
  height: 550px;
}
.drift-zoom-pane.drift-opening {
  animation: drift-fadeZoomIn 180ms ease-out;
  -webkit-animation: drift-fadeZoomIn 180ms ease-out;
}
.drift-zoom-pane.drift-closing {
  animation: drift-fadeZoomOut 210ms ease-in;
  -webkit-animation: drift-fadeZoomOut 210ms ease-in;
}
.drift-zoom-pane.drift-inline {
  position: absolute;
  width: 150px;
  height: 150px;
  border-radius: 75px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
}
.drift-loading .drift-zoom-pane-loader {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  width: 66px;
  height: 20px;
  animation: drift-loader-rotate 1800ms infinite linear;
  -webkit-animation: drift-loader-rotate 1800ms infinite linear;
}
.drift-zoom-pane-loader:before,
.drift-zoom-pane-loader:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  margin-top: -10px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.9);
}
.drift-bounding-box {
  background-color: rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.4) inset;
  z-index: 6;
  width: 150px !important;
  height: 150px !important;
}
sticky-add-cart {
  transform: translateY(100%);
}
.show-sticky-cart {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}
.sticky__item-info .product-detail__variant-picker select{
  width: 100%;
}
sticky-add-cart .product-item__wrapper {
  --col-width: 6.7rem;
}
sticky-add-cart .product-item__media--ratio {
  height: 6.7rem;
  border-radius: 50%;
}
.pswp .pswp__top-bar {
  top: clamp(2rem, 3vw, 4rem);
  right: clamp(2rem, 3vw, 4rem);
  left: auto;
}
button.pswp__button.pswp__button--bls--close {
  width: 50px;
  height: 50px;
  border: 1px solid var(--border-color-base);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: var(--duration-short);
}
button.pswp__button {
  color: var(--color-heading);
}
button.pswp__button.pswp__button--bls--close:hover {
  border-color: var(--color-heading);
}
.pswp__bottom-bar {
  position: absolute;
  bottom: clamp(1.5rem, 2vw, 3rem);
  left: 50%;
  transform: translate(-50%);
  display: inline-flex;
  flex-direction: row-reverse;
  align-items: baseline;
  border-radius: 30px;
  background-color: var(--color-white);
  transition: none;
}
.pswp__bottom-bar .pswp__button {
  height: 45px;
}
body .pswp__counter {
  height: 30px;
  font-size: var(--body-font-size, 14px);
  line-height: 30px;
  color: var(--color-heading);
  margin: 0 1rem;
  text-shadow: unset;
  font-weight: var(--heading-weight);
}
/*.product-detail__information collapsible-block:first-of-type h3 {
  border-top: 1px solid var(--border-color-base);
}*/
.product-detail__information .product__badges {
  flex-direction: row;
}
.product-detail__information .product__badges > div {
  margin-bottom: 0.8rem;
}
.trust-badge {
  margin-bottom: 3.6rem;
}
.product_description :is(p, ul) {
  margin-block-start: 1rem;
  margin-block-end: 1rem;
}
.product_description p:first-of-type {
  margin-top: 0;
}
.product_description ul {
  padding-inline-start: 1.7rem;
}
.product_description img{
  width: revert-layer;
}
variant-radios-sticky .select__sticky {
  font-size: var(--body-font-size);
  color: var(--color-heading);
}
sticky-add-cart .button_buy-now {
  min-width: 20rem;
}
sticky-add-cart .product__submit-form-cart {
  flex-wrap: nowrap;
}
sticky-add-cart variant-group-sticky select {
  width: 100%;
  text-transform: capitalize;
}
@media (max-width: 767.98px) {
  sticky-add-cart .product-form__quantity {
    display: none;
  }
  sticky-add-cart .button_buy-now {
    min-width: unset;
  }
  html:not(.open-drawer, .nav-open) .mobi-navigation-bar sticky-add-cart {
    z-index: 15;
  }
}
.product-group-list .product-item:not(:last-child) {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--border-color-base);
  margin-bottom: 1.5rem;
}
.product-group-list .product-item__wrapper {
  gap: 1.5rem;
}
.product-group-list .product-item__inner {
  width: 9rem;
}
.more-colors-product_item:hover {
  border-color: var(--color-heading);
}
.delivery-return.vertical {
  flex-direction: column;
}
.delivery-return.vertical > div {
  flex: 0 0 auto;
  align-items: center;
}
.delivery-return.vertical > div:not(:last-child) {
  border-bottom: 1px dashed var(--color-border);
}
.delivery-return.vertical svg {
  margin-inline-end: 1rem;
  color: var(--color-heading);
}
@media (min-width: 768px) {
  .delivery-return.vertical > div:first-child {
    padding-top: 0;
  }
  .delivery-return.vertical > div:last-child {
    padding-bottom: 0;
  }
}
@media (max-width: 767.98px) {
  .thumbnail-slide .swiper-actions {
    display: none;
  }
  .delivery-return > div {
    flex: 0 0 auto;
    width: 100%;
  }
  .thumbnail-slide__mobile--hidden {
    display: none;
  }
  body .swiper-pagination-custom {
    --swiper-pagination-bottom: 1.5rem;
    --swiper-pagination-position: absolute;
    --swiper-pagination-mt: 0;
    right: 1.5rem;
    bottom: 1.5rem;
    left: auto;
    top: auto;
    background-color: var(--color-white);
    border-radius: var(--btn-radius);
    border: 1px solid var(--color-border);
    font-weight: var(--subheading-weight);
    color: var(--color-heading);
    width: auto;
    padding: 8px 17px;
    display: inline-flex;
    align-items: center;
    line-height: 1;
  }
  .main-product {
    position: relative;
  }
  .main-product .zoom_light_box {
    display: none;
  }
  .product-detail__information .sticky {
    position: static;
  }
  .product-detail__information button-compare {
    display: none;
  }
  .featured-product__content {
    position: relative;
  }

  .product-detail__information:not(.product-featured) button-wishlist {
    display: none;
  }
  body
    .skeleton
    .product-detail__information
    :is(button-wishlist.skeleton-loading) {
    position: absolute;
    background-color: var(--color-white) !important;
    border: 1px solid var(--color-border) !important;
  }
}
.appstle_sub_widget {
  margin-bottom: 2rem;
}
.appstle_tooltip_content {
  --color-heading: var(--color-white);
}
media-gallery
  :is(
    .plyr--video,
    .shopify-model-viewer-ui,
    .external_video iframe,
    .deferred-media
  ) {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
media-gallery .shopify-model-viewer-ui model-viewer,
media-gallery .external_video iframe model-viewer {
  width: 100%;
  height: 100%;
}
.product_media-model-icon {
  top: 3px;
  right: 3px;
  z-index: 1;
}
address {
  font-style: normal;
}
swatch-dropdown.active {
  --color-border: var(--color-dark);
}

[data-type="dropdown"]
  .product-form__input
  swatch-dropdown
  input[type="radio"]:not(.option-disabled):checked
  + label {
  background-color: var(--grey-color);
  border-color: var(--grey-color);
  color: var(--color-dark);
}
[data-type="dropdown"] .select-custom.active .select-custom__content {
  top: calc(100% - 1px);
}
pickup-availability-drawer.open + .overlay:after {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}
.product-bought-image-item {
  flex: 0 0 21%;
  width: 21%;
}
.product-bought-together-item.main-product .product-item-checkbox {
  opacity: 0.7;
}
@media (max-width: 767.98px) {
  product-bought-together .box-total {
    width: 100%;
  }
  .info-bought-together {
    order: -1;
  }
  .media-main-swiper .swiper-actions.show-on-mobile {
    margin-bottom: 0;
  }
}
@media (min-width: 768px) {
  product-bought-together .grow-1 {
    flex: 0 0 calc(100% - 36rem);
    width: calc(100% - 36rem);
  }
  .product-bought-image-item {
    flex: 0 0 235px;
    width: 235px;
  }
}
.product-bought-image-item:not(.select) .product-image {
  opacity: 0.6;
}
.checkbought.checkmark:before {
  border-radius: 50%;
  width: 20px;
  height: 20px;
}
.checkbought.checkmark::after {
  border-width: 0 1px 1px 0;
  height: 9px;
  left: 8px;
  top: 6px;
}
.jdgm-paginate:empty,
.review_sold:empty {
  display: none !important;
}
.cloudimage-360-icons-container {
  right: 15px;
  top: 15px;
  width: 5rem;
}
.cloudimage-360-fullscreen-icon {
  background: url("data:image/svg+xml,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M0.000357628%2013.3636L0.000596046%2010.1813C0.000596046%209.82984%200.28544%209.54512%200.636787%209.54512C0.988253%209.54512%201.27286%209.82984%201.27286%2010.1814V11.8261L4.96974%208.12603C5.09417%208.00148%205.25721%207.93963%205.42013%207.93963C5.58281%207.93963%205.7455%208.0016%205.8698%208.12591C6.1183%208.37416%206.11853%208.77699%205.87016%209.02549L2.17208%2012.7271H3.81643C4.16789%2012.7271%204.45274%2013.0121%204.45274%2013.3637C4.45274%2013.715%204.16777%2014%203.81643%2014H0.636787C0.467907%2014%200.306178%2013.9329%200.186758%2013.8134C0.067338%2013.6941%200.000357628%2013.532%200.000357628%2013.3636ZM0.636668%204.45524C0.988253%204.45524%201.27286%204.16992%201.27286%203.81869V2.17399L4.90777%205.77791C5.1565%206.02641%205.57638%206.02665%205.82487%205.77815C6.07348%205.53002%206.08206%205.12694%205.83381%204.87857L2.23561%201.27286H3.88174H3.88305C4.23452%201.27286%204.51972%200.988133%204.51984%200.636548C4.51995%200.285439%204.23559%200.000356674%203.884%200.000356674L0.70484%200C0.53584%200%200.339906%200.0670996%200.220843%200.186399C0.101542%200.3057%200.000238419%200.467548%200.000238419%200.636189V3.81881C0.000357628%204.17004%200.285321%204.45524%200.636668%204.45524ZM9.09271%205.80592L12.7273%202.17375V3.81881C12.7273%204.17028%2013.0065%204.45452%2013.3579%204.45452H13.3552C13.7067%204.45452%2013.9902%204.16992%2013.9902%203.81881L13.99%200.636667C13.99%200.467787%2013.9227%200.305939%2013.8034%200.186638C13.6838%200.0672178%2013.5217%200.000237465%2013.353%200.000237465H10.1732C9.82174%200.000237465%209.5369%200.285201%209.5369%200.636548C9.5369%200.988253%209.82186%201.2731%2010.1732%201.2731H11.8171L8.18705%204.90646C7.93832%205.15483%207.94153%205.55826%208.19003%205.8064C8.43852%206.05453%208.84409%206.0543%209.09271%205.80592ZM11.8283%2012.6698H10.1842C9.8327%2012.6698%209.54798%2012.9544%209.54798%2013.3058C9.54798%2013.6574%209.83282%2013.9423%2010.1842%2013.9423L13.3636%2013.9426H13.3637C13.5326%2013.9426%2013.6942%2013.8758%2013.8137%2013.7565C13.9329%2013.6372%2014%2013.4755%2014%2013.3064L13.9996%2010.124C13.9996%209.77299%2013.7148%209.48767%2013.3635%209.48767C13.012%209.48767%2012.7273%209.77299%2012.7273%2010.124V11.7689L9.05934%208.09802C8.93503%207.97359%208.77199%207.91138%208.60907%207.91138C8.4465%207.91138%208.28358%207.97335%208.1594%208.09766C7.91079%208.34592%207.91043%208.74911%208.15904%208.99784L11.8283%2012.6698Z%22%20fill%3D%22%23111111%22%3E%3C/path%3E%3C/svg%3E")
    no-repeat center;
  background-color: #fff;
  border: 1px solid #ebebeb;
  border-radius: 50%;
  width: 5rem;
  height: 5rem;
}
.cloudimage-360 .cloudimage-360-left {
  cursor: pointer;
  border-right: 1px solid var(--color-border);
  position: unset;
  background: none;
  padding: 0;
  border-radius: 0;
  width: 40px;
}
.cloudimage-360 .cloudimage-360-right {
  position: unset;
  cursor: pointer;
  background: none;
  padding: 0;
  width: 40px;
}
.cloudimage-360 :is(.cloudimage-360-right, .cloudimage-360-left):hover:before {
  opacity: 1;
}
.cloudimage-360 .cloudimage-360-left:before {
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="8" height="12" viewBox="0 0 8 12" fill="none"><path d="M7.02321 10.5327C7.18908 10.7069 7.27202 10.9146 7.27202 11.1558C7.27202 11.3836 7.18908 11.5779 7.02321 11.7387C6.8701 11.9129 6.67872 12 6.44905 12C6.21939 12 6.028 11.9129 5.87489 11.7387L0.975366 6.59296C0.809497 6.43216 0.726562 6.23786 0.726562 6.01005C0.726562 5.76884 0.809497 5.56114 0.975366 5.38693L5.87489 0.241206C6.028 0.080402 6.21939 0 6.44905 0C6.67872 0 6.8701 0.080402 7.02321 0.241206C7.18908 0.41541 7.27202 0.623116 7.27202 0.864322C7.27202 1.09213 7.18908 1.28643 7.02321 1.44724L2.69785 5.98995L7.02321 10.5327Z" fill="%23111111"/></svg>')
    no-repeat center;
  margin: auto;
  opacity: 0.4;
  transition: var(--transition);
}
.cloudimage-360 .cloudimage-360-right:before {
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="8" height="12" viewBox="0 0 8 12" fill="none"><path d="M2.12369 11.7387C1.97058 11.9129 1.77919 12 1.54953 12C1.31986 12 1.12848 11.9129 0.975366 11.7387C0.809497 11.5779 0.726562 11.3836 0.726562 11.1558C0.726562 10.9146 0.809497 10.7069 0.975366 10.5327L5.30072 5.98995L0.975366 1.44724C0.809497 1.28643 0.726562 1.09213 0.726562 0.864322C0.726562 0.623116 0.809497 0.41541 0.975366 0.241206C1.12848 0.080402 1.31986 0 1.54953 0C1.77919 0 1.97058 0.080402 2.12369 0.241206L7.02321 5.38693C7.18908 5.56114 7.27202 5.76884 7.27202 6.01005C7.27202 6.23786 7.18908 6.43216 7.02321 6.59296L2.12369 11.7387Z" fill="%23111111"/></svg>')
    no-repeat center;
  margin: auto;
  opacity: 0.4;
  transition: var(--transition);
}
.control_360 {
  display: flex;
  right: 50%;
  bottom: 20px;
  transform: translateX(50%);
  position: absolute;
  color: #999999;
  z-index: 1;
  height: 44px;
  background: var(--color-white);
  border: 1px solid var(--border-color-base);
  border-radius: 5px;
  -webkit-box-shadow: inset 0 0 5px rgba(255, 255, 255, 0.5);
  box-shadow: inset 0 0 5px rgba(255, 255, 255, 0.5);
}
.zoom_light_box {
  background-color: #fff;
  border: 1px solid #ebebeb;
  border-radius: 50%;
  width: 5rem;
  height: 5rem;
  position: absolute;
  right: 15px;
  top: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.cloudimage-360-close-fullscreen-icon {
  width: 2rem;
  height: 2rem;
}
.product__xr-button {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1.5rem;
}
collapsible-block + product-recommendations {
  margin-top: 3rem;
}
.pickup_avaiability:has(pickup-availability > template) {
  display: none;
}
.ask-question .text-area {
  height: 12rem;
  min-height: 12rem;
}
.appstle_widget_title {
  color: var(--color-heading);
  font-weight: var(--heading-weight);
}
.product__submit-form-cart:has(.appstle_sub_widget) {
  width: 100%;
  gap: 0;
  margin-bottom: 10px;
}
.product__submit-form-cart:has(.appstle_sub_widget) .button_buy-now {
  width: 100%;
}
.product-form__buttons #appstle_subscription_widget0 .appstle_subscribe_option {
  margin-top: 15px;
  font-size: 13px;
}
.model-avatar{
  width: 4rem;
  height: 4rem;
}
.model-avatar,
.model-info-left {
  margin-right: 0rem;
  align-content: center;
}
.product_set.grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: 1fr 1fr;
  gap: 5px;
}
.product_set.grid .product-item:first-child {
  grid-area: span 2 / span 2;
}
.product_set.grid .product-item:first-child .product-item__action {
  display: none;
}
.product_set.grid .product-item {
  grid-area: span 1 / span 1;
}
.product_set.grid .product-item__information {
  display: none;
}
.label-set {
  background-color: #666;
}
.product_set.grid.grid-4 .product-item:last-child {
  grid-area: 2 / 3 / 3 / 5;
}
.product_set.grid.grid-4 .product-item:last-child .product-item__wrapper {
  --btn-padding-y: 1.4rem;
}
.product_set.grid.grid-4
  .product-item:last-child
  [style*="--aspect-ratio"]:before {
  padding: 0;
}
.product_set.grid
  .product-item
  :is(.product-item__wrapper, .product-item__inner, .product__media) {
  height: 100%;
}
.product_set.grid .product-item:not(:first-child) .product-item__wrapper {
  --btn-padding-y: 1rem;
}
.sec__products-set .swiper-pagination {
  width: auto;
}
@media (max-width: 767px) {
  .product_set.grid.reset-layout-mobile {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: 1fr 1fr 1fr 1fr;
  }
  .product_set.grid.reset-layout-mobile .product-item:first-child {
    grid-area: 1 / 1 / 3 / 5;
  }
  .product_set.grid.reset-layout-mobile .product-item:nth-child(2) {
    grid-area: 3 / 1 / 4 / 3;
  }
  .product_set.grid.reset-layout-mobile .product-item:nth-child(3) {
    grid-area: 3 / 3 / 4 / 5;
  }
  .product_set.grid.grid-4.reset-layout-mobile .product-item:last-child {
    grid-area: 4 / 1 / 5 / 5;
  }
  .product_set.grid.reset-layout-mobile .product-item {
    grid-area: span 2 / span 2;
  }
}
variant-radios-detail fieldset:last-of-type {
  margin-bottom: 0;
}


.product-featured .product-detail__variant-picker{
  margin-bottom: 2.3rem;
}
.product-featured .select-custom{
  border-radius: var(--btn-radius);
  height: 50px;
}
.product-featured .product-detail__variant-picker variant-radios-detail{
  padding-left: 0;
  padding-right: 0;
}

.product_detail-des.mb-22 {
  margin-bottom: 0.2rem !important;rem !important; /* or whatever value you want */
  font-size: 12px;
  color: #a2a2a2;
}

.product-detail__title.mb-10 {
  margin-bottom: 0.5rem; /* smaller only for product titles */
}

.product-form__input_color {
  gap: 10px; /* or smaller, e.g. 8px */
}

/* ===== Title / Price / Stock tidy (LEFT aligned) ===== */

/* Title: dominant, bold */
.product-detail__information .product-detail__title {
  font-weight: 700;
  font-size: clamp(22px, 2.2vw, 26px);
  line-height: 1.15;
  margin: 0 0 4px;               /* tighter gap above price */
  text-align: left;
}

/* Price wrapper */
.product-detail__information .product-detail__price .card-product-price.price-large {
  justify-content: flex-start;   /* left align */
  gap: 6px;
  margin: 0 0 8px !important;    /* clean gap above stock */
}

/* Price text: lighter, smaller */
.product-detail__information .product-detail__price .price {
  font-weight: 500;               /* lighter than title */
  font-size: clamp(15px, 1.5vw, 17px);
  line-height: 1.2;
  opacity: .9;
  text-align: left;
}

/* Stock row: align left, tidy spacing */
.product-detail__custom-liquid .onhow-message-container {
  display: flex;
  align-items: center;
  justify-content: flex-start;    /* left aligned under price */
  background: transparent;
  padding: 4px 0 12px;
  box-shadow: none;
  margin: 0;
}

.product-detail__custom-liquid .onhow-dot-wrapper {
  margin: 0;
}

.product-detail__custom-liquid .onhow-dot {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-radius: 50%;
  position: relative;
  background: var(--dot-color);
}

.product-detail__custom-liquid .onhow-text-mbg {
  margin: 0;
  font-size: 11px;
  line-height: 1.3;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
}

/* Mobile: tighter font + spacing */
@media (max-width: 767.98px) {
  .product-detail__information .product-detail__title {
    font-size: clamp(18px, 5vw, 22px);
    margin-bottom: 2px;
  }

  .product-detail__information .product-detail__price .price {
    font-size: 15px;
  }

  .product-detail__custom-liquid .onhow-message-container {
    gap: 6px;
    padding: 2px 0 8px;
  }
}

/* ===== PDP title / price / stock (left aligned + balanced spacing) ===== */

/* Title â†’ lighter bottom gap */
.product-detail__information .product-detail__title {
  text-align: left;
  margin-bottom: 4px;         /* sit closer to price */
}

/* Price â†’ left + small gap below */
.product-detail__information .product-detail__price .card-product-price.price-large {
  justify-content: flex-start;
  gap: 6px;
  margin-bottom: .5rem !important;   /* defeats the -2.8rem rule */
}

/* Stock banner â†’ left + balanced margins so it sits "between" price & variants */
.product-detail__custom-liquid .onhow-message-container {
  background: transparent;
  box-shadow: none;
  padding: 6px 0;             /* internal vertical breathing */
  margin: -1rem 0 1.1rem;    /* top from price / bottom to variants */
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

/* Dot + text tidy */
.product-detail__custom-liquid .onhow-dot-wrapper { margin: 0; }
.product-detail__custom-liquid .onhow-dot { width: 9px; height: 9px; }
.product-detail__custom-liquid .onhow-text-mbg {
  margin: 0;
  font-size: 11px;
  line-height: 1.3;
  font-weight: 500;
}

/* Kill â€œfeaturedâ€ centering on PDP */
.feature_product-center .product-detail__information { text-align: left; }
.feature_product-center .card-product-price,
.feature_product-center .review_sold,
.feature_product-center .product-detail__information .product__badges {
  justify-content: flex-start;
}

/* Mobile tightening */
@media (max-width: 767.98px){
  .product-detail__information .product-detail__title { margin-bottom: 2px; }
  .product-detail__information .product-detail__price .card-product-price.price-large { margin-bottom: .4rem !important; }
  .product-detail__custom-liquid .onhow-message-container { margin: -1rem -4px 1.5rem; gap: 0px; }
}

/* Mobile Gallery Styles - Add to main-product.css */
@media (max-width: 767px) {
  /* Full width edge-to-edge container */
  .product-detail__media {
    margin-left: -15px !important;
    margin-right: -15px !important;
    width: calc(100% + 30px) !important;
    padding: 0 !important;
    margin-bottom: 5px !important; /* Very small gap between image and title */
  }
  
  /* Mobile slider specific styles */
  .mobile-gallery-swiper {
    position: relative;
    width: 100% !important;
    margin: 0 !important;
  }
  
  .mobile-gallery-swiper .swiper-slide {
    width: 100% !important;
  }
  
  .mobile-gallery-swiper .swiper-slide img {
    width: 100% !important;
    height: auto !important;
    border-radius: 0 !important;
  }
  
  /* Remove rounded corners on mobile for full edge look */
  .mobile-gallery-swiper .media-gallery__image {
    border-radius: 0 !important;
  }
  
/* Mobile Gallery Pagination - Compact Version */
@media (max-width: 767px) {
  /* Pagination on top of image with blurred background - MUCH SMALLER SIZE */
  .mobile-gallery-pagination {
    position: absolute !important;
    bottom: -2px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 10 !important;
    background: rgba(255, 255, 255, 0.25) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    padding: 3px 6px !important; /* Much smaller padding */
    border-radius: 3px !important; /* Smaller border radius */
    width: auto !important;
    display: inline-flex !important;
    gap: 8px !important; /* Smaller gap between dots */
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1) !important;
  }
  
  /* Pagination bullet styles - MUCH SMALLER DOTS */
  .mobile-gallery-pagination .swiper-pagination-bullet {
    width: 4px !important; /* Much smaller dots */
    height: 4px !important; /* Much smaller dots */
    background: rgba(255, 255, 255, 0.5) !important;
    opacity: 1 !important;
    margin: 0 !important;
    transition: all 0.3s ease !important;
  }
  
  .mobile-gallery-pagination .swiper-pagination-bullet-active {
    background: #ffffff !important;
    width: 12px !important; /* Smaller active pill */
    border-radius: 2px !important;
  }
  
  /* Dark mode support for pagination */
  @media (prefers-color-scheme: dark) {
    .mobile-gallery-pagination {
      background: rgb(0, 0, 0) !important;
    }
    
    .mobile-gallery-pagination .swiper-pagination-bullet {
      background: rgba(255, 255, 255, 0.5) !important;
    }
    
    .mobile-gallery-pagination .swiper-pagination-bullet-active {
      background: #000000 !important;
    }
  }
}
  
  /* Remove sticky positioning on mobile */
  media-gallery.mobile-slider-active {
    position: relative !important;
  }
  
  /* Adjust zoom-action for mobile */
  .mobile-slider-active zoom-action {
    display: block !important;
  }
  
  /* Ensure proper height for images */
  .mobile-gallery-swiper .swiper-wrapper {
    align-items: stretch !important;
  }
  
  /* Remove any padding from parent containers that might interfere */
  .mobile-slider-active.block.sticky {
    position: relative !important;
    top: 0 !important;
  }
  
  /* Additional spacing adjustments to reduce gap */
  .product-detail__media + * {
    margin-top: 0 !important;
    padding-top: 10px !important;
  }
}

/* --- Mobile Gallery Pagination: compact + no inner white dot --- */
@media (max-width: 767px) {
  /* Pagination container */
  .swiper-pagination {
    position: absolute;
    bottom: 6px;                /* lift slightly above bottom */
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    background: rgba(0,0,0,0.25);  /* subtle translucent bg */
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    padding: 3px 6px;
    border-radius: 4px;
    display: inline-flex !important;
    gap: 4px;
  }

  /* Base bullets: smaller + no inner dot */
  .swiper-pagination-bullet {
    width: 6px !important;
    height: 6px !important;
    border-radius: 50%;
    background: rgba(255,255,255,0.5) !important;
    opacity: 1 !important;
    margin: 0 !important;
  }

  /* Remove the â€œwhite dot in middleâ€ effect some themes add */
  .swiper-pagination-bullet::after {
    content: none !important;
  }

  /* Active bullet: pill style */
  .swiper-pagination-bullet-active {
    width: 14px !important;
    border-radius: 3px !important;
    background: #fff !important;
  }
}

/* Ultra-compact mobile bullets (kills theme's big disks & inner dots) */
@media (max-width: 767px) {
  /* Use Swiper CSS vars just in case */
  .mobile-gallery-pagination.swiper-pagination {
    --swiper-pagination-bullet-size: 6px;
    --swiper-pagination-bullet-width: 6px;
    --swiper-pagination-bullet-height: 6px;
    --swiper-pagination-bullet-horizontal-gap: 4px;
  }

 

  /* Bullets: tiny, no padding, no box-shadow, no inner pseudo element */
  .mobile-gallery-pagination .swiper-pagination-bullet {
    width: 6px !important;
    height: 6px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: rgba(255, 255, 255, 0.55) !important;
    opacity: 1 !important;
    transform: none !important;
  }

  /* Kill any theme-added inner dot or ring */
  .mobile-gallery-pagination .swiper-pagination-bullet::before,
  .mobile-gallery-pagination .swiper-pagination-bullet::after {
    content: none !important;
  }

  /* Active: small pill */
  .mobile-gallery-pagination .swiper-pagination-bullet-active {
    width: 36px !important;
    border-radius: 3px !important;
    background: #ffffff !important;
  }
}

/* =========================
   Mobile Gallery Pagination (compact)
   ========================= */
@media (max-width: 767px) {
  /* container */
  .mobile-gallery-pagination.swiper-pagination {
    /* fallback + kill theme vars */
    --swiper-pagination-bullet-size: 4px;
    --swiper-pagination-bullet-width: 4px;
    --swiper-pagination-bullet-height: 4px;
    --swiper-pagination-bullet-horizontal-gap: 4px;

    position: absolute !important;
    bottom: 6px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 10 !important;

    /* subtle glass bg */
    background: rgba(0,0,0,0.25) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;

    display: inline-flex !important;
    gap: 4px !important;
    padding: 3px 6px !important;
    border-radius: 4px !important;
    box-shadow: 0 1px 6px rgba(0,0,0,.1) !important;
    width: auto !important;
  }

  /* bullets (tiny, no inner dot/ring, no box-shadow) */
  .mobile-gallery-pagination .swiper-pagination-bullet {
    width: 4px !important;
    height: 4px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.55) !important;
    opacity: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }
  .mobile-gallery-pagination .swiper-pagination-bullet::before,
  .mobile-gallery-pagination .swiper-pagination-bullet::after {
    content: none !important;
  }

  /* active bullet as a small pill */
  .mobile-gallery-pagination .swiper-pagination-bullet-active {
    width: 12px !important;
    border-radius: 3px !important;
    background: #fff !important;
  }

  /* dark mode tweak */
  @media (prefers-color-scheme: dark) {
    .mobile-gallery-pagination.swiper-pagination {
      background: rgba(0, 0, 0, 0.2) !important;
    }
    .mobile-gallery-pagination .swiper-pagination-bullet {
      background: rgba(255,255,255,0.45) !important;
    }
    .mobile-gallery-pagination .swiper-pagination-bullet-active {
      background: #fff !important;
    }
  }

  /* other mobile gallery helpers */
  media-gallery.mobile-slider-active { position: relative !important; }
  .mobile-slider-active zoom-action { display: block !important; }
  .mobile-gallery-swiper .swiper-wrapper { align-items: stretch !important; }
  .mobile-slider-active.block.sticky { position: relative !important; top: 0 !important; }
  .product-detail__media + * { margin-top: 0 !important; padding-top: 10px !important; }
}

@media (max-width: 767.98px){
  .mobile-gallery-swiper { display:block !important; opacity:1 !important; visibility:visible !important; }
  .mobile-gallery-swiper .swiper-wrapper { display:flex !important; }
  .mobile-gallery-swiper .swiper-slide { width:100% !important; flex-shrink:0 !important; }
}

/* Global anti-bleed guardrail */
html, body {
  overflow-x: hidden !important;
  width: 100%;
}
/* === PDP: Media / pagination guards (unchanged) === */
@media (max-width: 767.98px) {
  .product-detail__media { margin-left:0!important; margin-right:0!important; width:100%!important; }
  .product-detail__media {
    position:relative; left:50%; right:50%;
    margin-left:calc(-50vw + 50%)!important;
    margin-right:calc(-50vw + 50%)!important;
    width:100vw!important; overflow-x:clip;
  }
  .pswp__bottom-bar, .mobile-gallery-pagination, .control_360 {
    max-width:calc(100vw - 16px); box-sizing:border-box;
  }
  .mobile-gallery-swiper,
  .mobile-gallery-swiper .swiper,
  .mobile-gallery-swiper .swiper-wrapper,
  .mobile-gallery-swiper .swiper-slide {
    max-width:100vw!important;
  }
}
/* Full-bleed & no horizontal scroll (mobile) */
@media (max-width: 767.98px){
  .product-detail__media{ margin:0!important; padding:0!important; width:100vw!important; max-width:100vw!important; position:relative!important; left:0!important; right:0!important; }
  .mobile-gallery-swiper,
  .mobile-gallery-swiper .swiper,
  .mobile-gallery-swiper .swiper-wrapper,
  .mobile-gallery-swiper .swiper-slide{ width:100vw!important; max-width:100vw!important; margin:0!important; padding:0!important; }
  body{ overflow-x:hidden!important; }
}

/* ====================================================
   Title + Price on one row (mobile & desktop)
   - centers price vertically with the title
   - uses the existing theme price snippet
   ==================================================== */
.pdp-header-row{
  --pdp-price-nudge: 0px;            /* tweak if your font baseline still feels off (+/-1px) */
  display:flex;
  justify-content:space-between;
  align-items:center;                /* center price with the title */
  gap:.75rem;
  margin:0 0 .8rem;
}

/* Title: takes remaining space, can wrap */
.pdp-header-row .product-detail__title{
  flex:1 1 auto;
  margin:0;
  font-weight:700;
  line-height:1.2;
  font-size:clamp(18px,2.3vw,26px);
}

/* Price container (the one inside our header row) */
.pdp-header-row .product-detail__price{
  flex:0 0 auto;
  text-align:right;
  margin:0; padding:0;
  min-width:max-content;
  position:relative; top:var(--pdp-price-nudge);
}

/* Normalize Shopify price snippet metrics */
.pdp-header-row .product-detail__price,
.pdp-header-row .product-detail__price .price{
  margin:0!important; padding:0!important;
  line-height:1.15;                  /* match titleâ€™s feel */
}

/* Force a consistent inline layout for whatever the price snippet outputs */
.pdp-header-row .product-detail__price .price{
  display:flex; align-items:center; gap:.25rem; flex-wrap:nowrap;
}
.pdp-header-row .product-detail__price .price > *{
  display:inline-block; vertical-align:middle;
  margin:0!important; padding:0!important; line-height:inherit;
}

/* Common price-item variants (regular/sale/compare/unit) */
.pdp-header-row .product-detail__price .price-item,
.pdp-header-row .product-detail__price .price__regular,
.pdp-header-row .product-detail__price .price__sale,
.pdp-header-row .product-detail__price .price__compare,
.pdp-header-row .product-detail__price .unit-price{
  line-height:inherit; margin:0!important;
  font-weight:600;                   /* balanced with title weight */
  font-size:clamp(16px,1.8vw,20px);
}

/* Show ONLY the price that lives in our header row; hide other theme duplicates */
.product-detail__information > .product-detail__price{ display:none!important; }
.pdp-header-row .product-detail__price{ display:block!important; }

/* Stock/status row spacing under the new header row */
.product-detail__custom-liquid .onhow-message-container{
  margin:.25rem 0 1rem!important;
}

/* Small-phone tightening */
@media (max-width: 767.98px){
  .pdp-header-row{ gap:.5rem; margin-bottom:.6rem; }
  .pdp-header-row .product-detail__title{ font-size:clamp(17px,5vw,20px); }
  .pdp-header-row .product-detail__price .price,
  .pdp-header-row .product-detail__price .price-item{ font-size:16px; }
}

/* Show ONLY the inline price in our header row */
.product-detail__information .product-detail__price:not(.pdp-inline-price){
  display:none !important;            /* hide legacy price blocks */
}

/* Always show the inline one (both mobile & desktop) */
.pdp-header-row .pdp-inline-price,
.product-detail__information .pdp-inline-price{
  display:block !important;
}

@media (max-width: 767.98px) {
  .main-product {
    --col-gap: 5px !important; /* tighter gap on mobile */
  }
}

/* ==== Edge-to-edge mobile gallery ==== */
@media (max-width: 768px) {
  .edge-gallery{
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw); /* bleed to edges even inside a container */
    margin-right: calc(50% - 50vw);
    overflow: hidden;
  }

  /* Weâ€™ll turn the inner track into a horizontal snap scroller via JS by adding .edge-track/.edge-item */
  .edge-gallery .edge-track{
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 0;
  }
  .edge-gallery .edge-item{
    flex: 0 0 100vw;
    scroll-snap-align: start;
    position: relative;
  }
  .edge-gallery .edge-item img,
  .edge-gallery .edge-item video,
  .edge-gallery .edge-item iframe{
    display: block;
    width: 100%;
    height: auto;
  }

  /* Progress bar */
  .edge-gallery .edge-progress{
    position: sticky;
    bottom: 0; left: 0; right: 0;
    height: 4px;
    background: rgba(0,0,0,.12);
    -webkit-backdrop-filter: blur(8px) !important;
    overflow: hidden;
    z-index: 2;
  }
  .edge-gallery .edge-progress span{
    display: block;
    height: 100%;
    width: 0%;
    background: rgba(0,0,0,1);      /* uses text color of parent scheme */
  }

  /* Hide any default mobile thumbs if your theme shows them */
  [data-mobile-layout="show_thumbnails"] .product-thumbnails{ display:none; }
}

/* ==== Edge-to-edge mobile gallery (v2, for your theme) ==== */
@media (max-width: 768px) {
  /* bleed the whole gallery to the screen edges */
  .edge-gallery{
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: hidden;
  }

  /* Turn the THEME grid (#GalleryViewer-...) into a flex track */
  .edge-gallery [id^="GalleryViewer-"]{
    display: flex !important;
    overflow-x: auto !important;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 0 !important;

    /* kill grid leftovers */
    grid-template-columns: none !important;
    grid-auto-columns: unset !important;
  }

  /* Each media item = one viewport */
  .edge-gallery [id^="GalleryViewer-"] > .edge-item{
    flex: 0 0 100vw;
    scroll-snap-align: start;
    display: block;
    width: 100vw !important;
  }

  .edge-gallery .edge-item img,
  .edge-gallery .edge-item video,
  .edge-gallery .edge-item iframe{
    display: block;
    width: 100%;
    height: auto;
  }
}

/* Edge-to-edge on mobile: kill the left gutter and snap to the slide start */
@media (max-width: 767px){
  .edge-gallery .grid_scroll{
    padding-left: 0 !important;
    scroll-padding-left: 0 !important;
  }
  .edge-gallery .edge-item{ scroll-snap-align: start; }
}

/* 1) Never let the whole page scroll sideways */
html, body { overflow-x: clip; }        /* modern */
@supports not (overflow-x: clip) {
  html, body { overflow-x: hidden; }    /* safe fallback */
}

/* 2) The gallery track is the only horizontal scroller */
.edge-gallery .grid_scroll{
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
}

.edge-gallery .edge-item{
  scroll-snap-align: start;
}

@media (max-width: 767px){
  .edge-gallery .grid_scroll{
    padding-left: 0 !important;
    scroll-padding-left: 0 !important;
  }
}

/* =========================================
   PDP FIX PATCH (drop-in, last-wins)
   - Desktop: restore 2 columns + sticky info
   - Mobile: true edge-to-edge gallery, no left gap
   ========================================= */

/* Safety: never allow page-level sideways scroll */
html, body { overflow-x: clip !important; }
@supports not (overflow-x: clip) { html, body { overflow-x: hidden !important; } }

/* -------------------------------
   DESKTOP/TABLET (≥768px): 2 columns
   ------------------------------- */
@media (min-width: 768px){
  /* Force the main PDP shell to 2 columns */
  .main-product{
    display: grid !important;
    grid-template-columns: minmax(0, 52%) minmax(0, 48%) !important;
    align-items: start;
    gap: var(--col-gap, 24px) !important;
  }

  /* Make sure the two children behave like columns */
  .product-detail__media{
    grid-column: 1 !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .product-detail__information{
    grid-column: 2 !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;   /* stops overflow forcing a wrap */
  }

  /* Keep the product meta sticky (works with your theme) */
  .product-detail__information .sticky{
    position: sticky !important;
    top: var(--sticky-top, 88px);
  }

  /* Neutralize any mobile/edge-gallery hacks on desktop */
  .edge-gallery{
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    left: auto !important;
    right: auto !important;
    background: transparent !important;
  }
  .edge-gallery [id^="GalleryViewer-"]{
    display: block !important;      /* theme default container */
    overflow: visible !important;
    scroll-snap-type: none !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* If a “stacked” media grid is present, don’t let every 3rd span 2 cols on PDP */
  .main-product .stacked > *:nth-child(3n + 1){ grid-column: auto !important; }
}

/* ---------------------------------------
   MOBILE (≤767.98px): kill left gutter & snap
   --------------------------------------- */
@media (max-width: 767.98px){
  /* The gallery wrapper bleeds to viewport edges even inside padded containers */
  .product-detail__media,
  .edge-gallery{
    position: relative !important;
    width: 100svw !important;
    max-width: 100svw !important;
    margin-left: calc(50% - 50svw) !important;
    margin-right: calc(50% - 50svw) !important;
    padding: 0 !important;
    left: auto !important;
    right: auto !important;
    background: #000; /* optional black canvas around images */
  }

  /* The inner track becomes a clean horizontal snap scroller */
  .edge-gallery [id^="GalleryViewer-"],
  .product-detail__media [id^="GalleryViewer-"],
  .mobile-gallery-swiper .swiper-wrapper{
    display: flex !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-gutter: auto !important; /* do NOT reserve a gutter */
    scrollbar-width: none;             /* Firefox hide */
  }
  /* Hide WebKit scrollbars */
  .edge-gallery [id^="GalleryViewer-"]::-webkit-scrollbar,
  .mobile-gallery-swiper .swiper-wrapper::-webkit-scrollbar{ display:none; width:0; height:0; }

  /* One slide per viewport; remove any first-tile inset */
  .edge-gallery [id^="GalleryViewer-"] > *,
  .mobile-gallery-swiper .swiper-slide{
    flex: 0 0 100svw !important;
    scroll-snap-align: start !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .edge-gallery [id^="GalleryViewer-"] > *:first-child{ margin-inline-start: 0 !important; }

  /* Anchors/media fill the slide, no border radius that “looks” like a gutter on black */
  .edge-gallery a.media-gallery__image,
  .mobile-gallery-swiper .media-gallery__image{
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  .edge-gallery .media-gallery__image img,
  .mobile-gallery-swiper .swiper-slide img{
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  /* Trim the space under the gallery */
  .product-detail__media + *{
    margin-top: 0 !important;
    padding-top: 10px !important;
  }

  /* Ensure the info panel is NOT sticky on mobile (your base already does this) */
  .product-detail__information .sticky{ position: static !important; }
}

/* ---------------------------------------
   SMALL CLEANUPS
   --------------------------------------- */
/* Fix the accidental typo that duplicated !important in your base */
.product_detail-des.mb-22{
  margin-bottom: .2rem !important;
  font-size: 12px;
  color: #a2a2a2;
}

/* Make sure the PDP header row shows only the inline price block */
.product-detail__information .product-detail__price:not(.pdp-inline-price){ display:none !important; }
.pdp-header-row .pdp-inline-price{ display:block !important; }

/* ===============================
   Desktop PDP: 2 columns + sticky
   =============================== */
@media (min-width: 768px){
  /* Hard override the flex layout */
  .main-product-section .main-product{
    display: grid !important;
    grid-template-columns:
      minmax(0, var(--col-width, 48%))
      minmax(0, calc(100% - var(--col-width, 48%))) !important;
    gap: var(--col-gap, 24px) !important;
    align-items: start;
    overflow: visible !important;
  }

  /* Explicit column placement + sizing hygiene */
  .main-product-section .product-detail__media{
    grid-column: 1 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: auto !important;
  }
  .main-product-section .product-detail__information{
    grid-column: 2 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: auto !important;
    align-self: start !important;
  }

  /* Restore sticky on info column (respects your .top-30 utility) */
  .main-product-section .product-detail__information > .sticky{
    position: sticky !important;
    top: var(--sticky-top, 30px) !important;
  }
}

/* Make sure mobile explicitly de-sticks (keeps your current behavior) */
@media (max-width: 767.98px){
  .main-product-section .product-detail__information > .sticky{
    position: static !important;
    top: auto !important;
  }
}

/* ===============================
   DESKTOP PDP: 2 columns + sticky
   =============================== */
@media (min-width: 768px){
  /* kill any flex/1-col rules with high specificity */
  #MainProduct-{{ section.id }} .main-product{
    display: grid !important;
    grid-template-columns: minmax(0, var(--col-width, 48%)) minmax(0, 1fr) !important;
    grid-auto-flow: row dense !important;
    gap: var(--col-gap, 24px) !important;
    align-items: start !important;
    overflow: visible !important;
  }

  /* ensure children actually sit in the two columns */
  #MainProduct-{{ section.id }} .product-detail__media{
    grid-column: 1 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: auto !important;
  }
  #MainProduct-{{ section.id }} .product-detail__information{
    grid-column: 2 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: auto !important;
    align-self: start !important;
    height: auto !important;
    overflow: visible !important;
  }

  /* make sure NO ancestor blocks sticky */
  #MainProduct-{{ section.id }},
  #MainProduct-{{ section.id }} > .container,
  #MainProduct-{{ section.id }} .main-product{
    overflow: visible !important;
  }

  /* apply sticky both to wrapper AND the inner .sticky for safety */
  #MainProduct-{{ section.id }} .product-detail__information{
    position: sticky !important;
    top: 30px !important;               /* mirrors 'top-30' */
  }
  #MainProduct-{{ section.id }} .product-detail__information > .sticky{
    position: sticky !important;
    top: 30px !important;
  }
}

/* mobile stays non-sticky */
@media (max-width: 767.98px){
  #MainProduct-{{ section.id }} .product-detail__information,
  #MainProduct-{{ section.id }} .product-detail__information > .sticky{
    position: static !important;
    top: auto !important;
  }
}

@media (min-width: 768px){
  .stacked{ display:grid !important; gap: var(--col-gap, 20px); }
}

/* ===== FORCE 2-COLUMN DESKTOP GALLERY ===== */
@media (min-width: 768px){
  /* when the section says it's 2-col, make the viewer grid */
  [data-desktop-layout="grid_2_column"] [id^="GalleryViewer-"],
  [data-desktop-layout="grid_2_column"] [id^="GalleryViewer-"] .swiper-wrapper{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    grid-auto-rows: auto;
    gap: var(--col-gap, 20px) !important;
  }

  /* kill any slider widths that force single-column */
  [data-desktop-layout="grid_2_column"] [id^="GalleryViewer-"] .swiper-slide,
  [data-desktop-layout="grid_2_column"] [id^="GalleryViewer-"] > *{
    width: auto !important;
    max-width: none !important;
    flex: unset !important;
  }

  /* optional: if your theme adds spans, keep them normal */
  [data-desktop-layout="grid_2_column"] [id^="GalleryViewer-"] > *{
    grid-column: auto / auto !important;
  }
}

/* PDP header row: title (left) + price (right) – no wrapper needed */
.product-detail__information{
  display:grid;
  grid-template-columns: 1fr auto;
  grid-auto-rows: max-content;
  gap: .6rem 1rem;
}
.product-detail__information .product-detail__title{
  grid-column: 1; grid-row: 1; margin:0;
}
.product-detail__information .pdp-inline-price{
  grid-column: 2; grid-row: 1; text-align:right;
}
.product-detail__information > *:not(.product-detail__title):not(.pdp-inline-price){
  grid-column: 1 / -1; /* everything else full-width below */
}
@media (min-width:768px){ .product-detail__information{ gap:.75rem 1rem; } }



.edge-gallery{ position:relative; }
.edge-progress{
  position:fixed;
  left:0; right:0;
  bottom: max(0px, env(safe-area-inset-bottom));
  height:4px;
  background: rgba(255,255,255,.15);
  z-index: 2147483646;
}
.edge-progress span{
  display:block; height:100%;
  width:0%;
  background:#fff;
  transition: width .12s linear;
}
@media (min-width:768px){ .edge-progress{ display:none; } }

/* Short-description row: text + badge side-by-side */
.pdp-desc-row{
  display:flex;
  align-items:baseline;
  gap:10px;
  flex-wrap:wrap;              /* wraps nicely on phones */
}

/* make the badge ~30% smaller */
.pdp-desc-row .product__badges-inner{
  font-size:.7em;
  line-height:1;
  padding:.35em .7em;
  border-radius:999px;
}

/* ensure badge renders inline */
.pdp-desc-row .sale_badge{ display:inline-flex; }
@media (max-width:768px){ .pdp-desc-row{ gap:8px; } }

/* Badge above the price (right-aligned, ~30% smaller) */
.pdp-inline-price { position: relative; }  /* anchor */

.pdp-badge--above-price{
  position: absolute;
  right: 0;
  bottom: calc(100% + 6px);       /* just above the price */
  transform: scale(.7);           /* ~30% smaller */
  transform-origin: right bottom;
  z-index: 2;
  width: max-content;
}

@media (max-width: 480px){
  .pdp-badge--above-price{ bottom: calc(100% + 4px); }
}

.pdp-badge--above-price .product__badges-custom{
  border: 1px solid var(--badge-stroke, #353535);
}

/* SIZE boxes — smaller pills */
.product-detail__variant-picker .product__item-option{
  padding: 7px 15px;      /* ~30% smaller than 10/20 */
  font-size: 14px;        /* adjust if you want */
  line-height: 1.1;
}

/* disabled/out of stock */
.product-detail__variant-picker input[disabled] + label,
.product-detail__variant-picker .product__item-option[aria-disabled="true"]{
  opacity: .45 !important;
  pointer-events: none;
}

/* More payment options — smaller, lighter, colored */
#MainProduct-{{ section.id }} .shopify-payment-button__more-options,
#MainProduct-{{ section.id }} #more-payment-options-link{
  font-size: 13px !important;      /* resize */
  font-weight: 400 !important;      /* lighter weight */
  color: var(--color-primary, #0B5FFF) !important; /* change color (fallback shown) */
  line-height: 1.2;
  text-decoration: none;            /* or 'underline' if you prefer */
  opacity: .9;
}

/* hover/focus states */
#MainProduct-{{ section.id }} .shopify-payment-button__more-options:hover,
#MainProduct-{{ section.id }} #more-payment-options-link:hover{
  opacity: 1;
  color: var(--color-heading, #111) !important;
}
#MainProduct-{{ section.id }} .shopify-payment-button__more-options:focus-visible,
#MainProduct-{{ section.id }} #more-payment-options-link:focus-visible{
  outline: 2px solid currentColor;
  outline-offset: 2px;
  border-radius: 4px;
}

/* (optional) make it even smaller on mobile */
@media (max-width: 768px){
  #MainProduct-{{ section.id }} .shopify-payment-button__more-options,
  #MainProduct-{{ section.id }} #more-payment-options-link{
    font-size: 12px !important;
  }
}

/* Hide on every product page */
more-payment-options-link[slot="more-options"],
.shopify-payment-button__more-options {
  display: none !important;
}

/* Add space ABOVE the Fit Scale block (only on this product section) */
#MainProduct-{{ section.id }} .fit-scale{
  margin-top: clamp(30px, 2.2vw, 24px);
}

/* Hide wishlist button on mobile thats still visible on mobile */
.product-item__button-wishlist {
  display: none;
}

/* iPhone 13 mini-ish */
@media (max-width: 420px){
  .product_detail-des{
    /* smaller but responsive */
    font-size: clamp(10px, 2.9vw, 12px) !important;
    line-height: 1.05;
    letter-spacing: .06em;

    /* wrap neatly within a narrower measure */
    max-width: 21ch;        /* ~18 uppercase chars per line */
    white-space: normal;
    word-break: normal;
    overflow-wrap: anywhere;

    /* tighter spacing so it doesn’t push content too far down */
    margin-bottom: 8px !important;
  }
}

/* extra-tight for very small screens (old SE, etc.) */
@media (max-width: 360px){
  .product_detail-des{
    font-size: clamp(9px, 2.8vw, 11px) !important;
    max-width: 16ch;
    margin-bottom: 6px !important;
  }
}

/* === Sticky add-to-cart: make it rock-solid at the viewport edge === */
sticky-add-cart{
  /* do not change existing translateY logic—just harden the layer */
  will-change: transform;
  transform: translateZ(0); /* new stacking context prevents weird offsets */
  inset-block-end: 0;       /* equivalent to bottom: 0 in logical props */
}

/* Keep it above page chrome on mobile; you already set a z-index below—keep it */
@media (max-width: 767.98px){
  /* if the theme doesn’t set bottom padding, add it for notches */
  @supports (-webkit-touch-callout: none) {
    sticky-add-cart { padding-bottom: var(--safe-bottom); }
  }
}