/** Shopify CDN: Minification failed

Line 1477:42 Unexpected "{"
Line 1477:51 Expected ":"

**/
product-info {
  display: block;
}

.product {
  margin: 0;
  width: 100%;
  max-width: 100%;
}

.product.grid {
  display: block;
  gap: 0;
}

.product__media-wrapper,
.product__info-wrapper {
  width: 100%;
  max-width: 100%;
  padding: 0;
}

.product__column-sticky {
  position: static !important;
  top: auto !important;
  display: block;
}

.product__media-wrapper {
  padding-left: 0;
}

.product__info-container > * + * {
  margin: 1.5rem 0;
}

.product__info-container iframe {
  max-width: 100%;
}

.product__info-container .product-form,
.product__info-container .product__description,
.product__info-container .icon-with-text {
  margin: 2.5rem 0;
}

.product__text {
  margin-bottom: 0;
}

a.product__text {
  display: block;
  text-decoration: none;
  color: rgba(var(--color-foreground), 0.75);
}

.product__text.caption-with-letter-spacing {
  text-transform: uppercase;
}

.product__title {
  word-break: break-word;
  margin-bottom: 1.5rem;
}

.product__title > * {
  margin: 0;
}

.product__title > a {
  display: none;
}

.product .price .badge {
  margin-bottom: 0.5rem;
}

.product .price__container {
  margin-bottom: 0.5rem;
}

.product .price dl {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.product .price--sold-out .price__badge-sale {
  display: none;
}

.product__description-title {
  font-weight: 600;
}

.product__tax {
  margin-top: -1.4rem;
}

.product-form {
  display: block;
}

.product-form__input {
  flex: 0 0 100%;
  padding: 0;
  margin: 0 0 1.2rem 0;
  max-width: 44rem;
  min-width: fit-content;
  border: none;
}

.product-form__input .form__label {
  padding-left: 0;
}

.product-form__input .select {
  max-width: 100%;
}

.product-form__input .svg-wrapper {
  right: 1.5rem;
}

.product-form__submit {
  margin-bottom: 1rem;
}

.product-form__buttons {
  max-width: 44rem;
}

.product__inventory {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.product__inventory .svg-wrapper,
.product__inventory svg {
  width: 15px;
  height: 15px;
}

.icon-with-text {
  --icon-size: calc(var(--font-heading-scale) * 3rem);
  --icon-spacing: calc(var(--font-heading-scale) * 1rem);
}

.icon-with-text--horizontal {
  display: flex;
  justify-content: center;
  column-gap: 3rem;
  flex-direction: row;
}

.icon-with-text__item {
  display: flex;
  align-items: center;
}

.product__media-toggle {
  display: flex;
  border: none;
  background: transparent;
  color: currentColor;
  padding: 0;
}

.product__media-toggle::after {
  content: '';
  position: absolute;
  inset: calc(var(--border-width) * -1);
  z-index: 2;
}

.product__media-list .media > * {
  overflow: hidden;
}

.thumbnail {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  color: rgb(var(--color-foreground));
  cursor: pointer;
  background: transparent;
}

.thumbnail:hover {
  opacity: 0.78;
}

.thumbnail img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.thumbnail-list__item {
  position: relative;
  flex: 0 0 auto;
}

.thumbnail-list__item::before {
  content: '';
  display: block;
  padding-bottom: 100%;
}

.thumbnail__badge {
  color: rgb(var(--color-foreground), 0.6);
  height: 2rem;
  width: 2rem;
  left: auto;
  right: calc(0.4rem + var(--media-border-width));
  top: calc(0.4rem + var(--media-border-width));
}

.thumbnail__badge .icon {
  width: 1rem;
  height: 1rem;
}

.thumbnail__badge .icon-3d-model {
  width: 1.2rem;
  height: 1.2rem;
}

/* =========================
   DESKTOP: 4NML PRODUCT LAYOUT
========================= */

@media screen and (min-width: 990px) {
  .page-width.product-page-4nml-shell {
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .product--4nml-viewport {
    --product-content-max: 1200px;
    --product-content-pad: clamp(16px, 2vw, 32px);
    --product-content-width: min(var(--product-content-max), calc(100vw - (var(--product-content-pad) * 2)));
    width: 100%;
    max-width: 100%;
  }

  /* top area should flow naturally */
  .product--4nml-viewport .product__hero,
  .product--4nml-viewport .product__hero-gallery,
  .product--4nml-viewport media-gallery {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* only the main image rail gets viewport-based height */
  .product--4nml-viewport .product-gallery-viewer {
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .product--4nml-viewport .product__media-list {
    display: flex !important;
    flex-direction: row;
    align-items: stretch;
    width: 100%;
    height: clamp(340px, 66dvh, 720px) !important;
    min-height: 340px !important;
    max-height: 720px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    list-style: none;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    scrollbar-width: none;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
  }

  .product--4nml-viewport .product__media-list::-webkit-scrollbar {
    display: none;
  }

  .product--4nml-viewport .product__media-list.is-dragging {
    cursor: grabbing;
  }

  .product--4nml-viewport .product__media-item,
  .product--4nml-viewport .product__media-item.is-active,
  .product--4nml-viewport .product__media-item:not(.is-active) {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: auto !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    scroll-snap-align: start;
  }

  /* remove boxed Dawn look */
  .product--4nml-viewport .product-media-container,
  .product--4nml-viewport .product-media-container.constrain-height,
  .product--4nml-viewport .global-media-settings,
  .product--4nml-viewport .media,
  .product--4nml-viewport .product__media,
  .product--4nml-viewport .product__modal-opener,
  .product--4nml-viewport .deferred-media,
  .product--4nml-viewport .deferred-media__poster {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  .product--4nml-viewport .product-media-container,
  .product--4nml-viewport .product-media-container.constrain-height {
    width: auto !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  .product--4nml-viewport .product-media-container .product__modal-opener,
  .product--4nml-viewport .product-media-container .media,
  .product--4nml-viewport .product__media,
  .product--4nml-viewport .media,
  .product--4nml-viewport .deferred-media,
  .product--4nml-viewport .deferred-media__poster {
    width: auto !important;
    height: 100% !important;
    min-height: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    position: relative !important;
    overflow: visible !important;
  }

  .product--4nml-viewport .product-media-container .media {
    padding-top: 0 !important;
  }

  .product--4nml-viewport .product-media-container img,
  .product--4nml-viewport .product__media img,
  .product--4nml-viewport .media img,
  .product--4nml-viewport .deferred-media__poster img {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    height: 100% !important;
    max-width: none !important;
    max-height: 100% !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
  }

  /* no zoom icon on desktop */
  .product--4nml-viewport .product__media-icon,
  .product--4nml-viewport .product__media-zoom-lightbox,
  .product--4nml-viewport .product__media-zoom-hover,
  .product--4nml-viewport .product__media-icon--hover,
  .product--4nml-viewport .product__media-icon--lightbox,
  .product--4nml-viewport .product__media-toggle::after {
    display: none !important;
  }

  /* thumbnails should sit under the rail */
  .product--4nml-viewport .thumbnail-slider {
    display: flex !important;
    align-items: center;
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-top: 0.55rem !important;
    margin-bottom: 0.95rem !important;
    border-top: 0 !important;
    overflow: visible !important;
  }

  .product--4nml-viewport .thumbnail-list,
  .product--4nml-viewport .product__hero-summary-inner,
  .product--4nml-viewport .product__details {
    width: var(--product-content-width) !important;
    max-width: var(--product-content-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
  }

  .product--4nml-viewport .thumbnail-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0.45rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    list-style: none;
    scrollbar-width: none;
  }

  .product--4nml-viewport .thumbnail-list::-webkit-scrollbar {
    display: none;
  }

  .product--4nml-viewport .thumbnail-list__item {
    flex: 0 0 auto;
    width: clamp(46px, 4vw, 64px);
    height: clamp(62px, 5.4vw, 88px);
  }

  .product--4nml-viewport .thumbnail-list__item::before {
    display: none;
  }

  .product--4nml-viewport .thumbnail,
  .product--4nml-viewport .thumbnail[aria-current],
  .product--4nml-viewport .thumbnail:focus,
  .product--4nml-viewport .thumbnail:focus-visible,
  .product--4nml-viewport .thumbnail.focused {
    width: 100%;
    height: 100%;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    background: transparent !important;
    padding: 0 !important;
  }

  /* title + price beneath thumbnails */
  .product--4nml-viewport .product__hero-summary {
    display: block !important;
    margin: 0 0 0.85rem 0 !important;
    border-top: 0 !important;
  }

  .product--4nml-viewport .product__hero-summary-inner {
    display: block !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .product--4nml-viewport .product__hero-title-wrap,
  .product--4nml-viewport .product__title,
  .product--4nml-viewport .product__title--hero {
    margin: 0 0 0.45rem 0 !important;
    padding: 0 !important;
  }

  .product--4nml-viewport h1 {
    margin: 0 !important;
    line-height: 1.05 !important;
    font-size: clamp(1.65rem, 1.8vw, 2.2rem);
  }

  .product--4nml-viewport .product__hero-price-wrap,
  .product--4nml-viewport .product__hero-price {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: normal !important;
  }

  .product--4nml-viewport .product__hero-price .price,
  .product--4nml-viewport .product__hero-price .price__container,
  .product--4nml-viewport .product__hero-price .price dl {
    margin: 0 !important;
  }

  /* details flow naturally under summary */
  .product--4nml-viewport .product__details {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 5rem !important;
  }

  .product--4nml-viewport .product__info-container {
    margin-top: 0 !important;
  }

  .product--4nml-viewport .product__info-container > *:first-child {
    margin-top: 0 !important;
  }

  .product--4nml-viewport .product__info-container > * + * {
    margin-top: 1rem !important;
  }

  .product--4nml-viewport .installment,
  .product--4nml-viewport .product__tax,
  .product--4nml-viewport .volume-pricing-note {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .product--4nml-viewport variant-selects,
  .product--4nml-viewport .product-form__input,
  .product--4nml-viewport .product-form,
  .product--4nml-viewport .product-form__buttons,
  .product--4nml-viewport .product-form__quantity {
    margin-top: 0 !important;
  }

  .product--4nml-viewport .slider-buttons {
    display: none !important;
  }
}

/* shorter laptop screens */
@media screen and (min-width: 990px) and (max-height: 760px) {
  .product--4nml-viewport .product__media-list {
    height: clamp(300px, 60dvh, 620px) !important;
    min-height: 300px !important;
    max-height: 620px !important;
  }

  .product--4nml-viewport .thumbnail-slider {
    margin-top: 0.4rem !important;
    margin-bottom: 0.7rem !important;
  }

  .product--4nml-viewport h1 {
    font-size: clamp(1.42rem, 1.5vw, 1.9rem);
  }
}

/* =========================
   MOBILE
========================= */

@media screen and (max-width: 989px) {
  .product--4nml-viewport .product__hero,
  .product--4nml-viewport .product__hero-gallery,
  .product--4nml-viewport media-gallery,
  .product--4nml-viewport .product-gallery-viewer {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* restore Dawn-style one-at-a-time mobile gallery */
  .product--4nml-viewport .product__media-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    width: calc(100% + 4rem) !important;
    margin-left: -2.5rem !important;
    margin-bottom: 1rem !important;
    padding: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
  }

  .product--4nml-viewport .product__media-item,
  .product--4nml-viewport .product__media-item.is-active,
  .product--4nml-viewport .product__media-item:not(.is-active) {
    display: flex !important;
    flex: 0 0 calc(100% - 3rem - var(--grid-mobile-horizontal-spacing)) !important;
    width: calc(100% - 3rem - var(--grid-mobile-horizontal-spacing)) !important;
    max-width: calc(100% - 3rem - var(--grid-mobile-horizontal-spacing)) !important;
    min-width: calc(100% - 3rem - var(--grid-mobile-horizontal-spacing)) !important;
    scroll-snap-align: start;
    align-items: center;
    justify-content: center;
  }

  .product--4nml-viewport .product-media-container,
  .product--4nml-viewport .product-media-container.constrain-height,
  .product--4nml-viewport .product-media-container .product__modal-opener,
  .product--4nml-viewport .product-media-container .media,
  .product--4nml-viewport .product__media,
  .product--4nml-viewport .media,
  .product--4nml-viewport .deferred-media,
  .product--4nml-viewport .deferred-media__poster {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  .product--4nml-viewport .product-media-container .media {
    padding-top: 0 !important;
  }

  .product--4nml-viewport .product-media-container img,
  .product--4nml-viewport .product__media img,
  .product--4nml-viewport .media img,
  .product--4nml-viewport .deferred-media__poster img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
    position: static !important;
    inset: auto !important;
  }

  /* show the mobile arrows */
  .product--4nml-viewport .slider-buttons {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 0 0 0.75rem 0;
    padding: 0 1.5rem;
  }

  .product--4nml-viewport .slider-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
  }

  /* show thumbnails on mobile too */
  .product--4nml-viewport .thumbnail-slider {
    display: flex !important;
    align-items: center;
    margin-top: 0.25rem;
    margin-bottom: 0.75rem;
    overflow: visible !important;
  }

  .product--4nml-viewport .thumbnail-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0.4rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 1.5rem !important;
    list-style: none;
  }

  .product--4nml-viewport .thumbnail-list__item {
    flex: 0 0 auto;
    width: 54px;
    height: 72px;
  }

  .product--4nml-viewport .thumbnail-list__item::before {
    display: none !important;
  }

  .product--4nml-viewport .thumbnail,
  .product--4nml-viewport .thumbnail[aria-current],
  .product--4nml-viewport .thumbnail:focus,
  .product--4nml-viewport .thumbnail:focus-visible,
  .product--4nml-viewport .thumbnail.focused {
    width: 100%;
    height: 100%;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    background: transparent !important;
    padding: 0 !important;
  }

  .product--4nml-viewport .product__hero-summary {
    margin-bottom: 0.75rem;
    border-top: 0 !important;
  }

  .product--4nml-viewport .product__hero-summary-inner {
    display: block !important;
    padding: 0 1.5rem !important;
  }

  .product--4nml-viewport .product__details {
    padding: 0 1.5rem 3rem !important;
  }

  /* do NOT hide the media toggle on mobile, so click can still open lightbox */
  .product--4nml-viewport .product__media-icon,
  .product--4nml-viewport .product__media-zoom-lightbox,
  .product--4nml-viewport .product__media-zoom-hover,
  .product--4nml-viewport .product__media-icon--hover,
  .product--4nml-viewport .product__media-icon--lightbox {
    display: none !important;
  }

  .product--4nml-viewport .product__media-toggle::after {
    display: block !important;
  }
}

/* =========================
   4NML GALLERY CLEANUP PATCH
========================= */

/* hide leaked modal/media content unless opened */
.product-media-modal {
  display: none !important;
}

.product-media-modal[open] {
  display: block !important;
}

.product-media-modal__content > *:not(.active) {
  display: none !important;
}

.product__media-list .deferred-media {
  display: none !important;
}

@media screen and (min-width: 750px) {
  .product__media-list .deferred-media {
    display: block !important;
  }
}

/* ---------- DESKTOP: keep current custom rail ---------- */
@media screen and (min-width: 990px) {
  .product--4nml-viewport .product__hero,
  .product--4nml-viewport .product__hero-gallery,
  .product--4nml-viewport media-gallery {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .product--4nml-viewport .product-gallery-viewer {
    width: 100%;
    height: auto !important;
    overflow: visible !important;
  }

  .product--4nml-viewport .product__media-list {
    display: flex !important;
    flex-direction: row;
    align-items: stretch;
    width: 100%;
    height: clamp(340px, 66dvh, 720px) !important;
    min-height: 340px !important;
    max-height: 720px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    scrollbar-width: none;
  }

  .product--4nml-viewport .product__media-list::-webkit-scrollbar {
    display: none;
  }

  .product--4nml-viewport .product__media-item,
  .product--4nml-viewport .product__media-item.is-active,
  .product--4nml-viewport .product__media-item:not(.is-active) {
    display: flex !important;
    flex: 0 0 auto;
    width: auto !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    scroll-snap-align: start;
    align-items: center;
    justify-content: center;
  }

  .product--4nml-viewport .product-media-container,
  .product--4nml-viewport .product-media-container.constrain-height,
  .product--4nml-viewport .product-media-container .product__modal-opener,
  .product--4nml-viewport .product-media-container .media,
  .product--4nml-viewport .product__media,
  .product--4nml-viewport .media,
  .product--4nml-viewport .deferred-media,
  .product--4nml-viewport .deferred-media__poster,
  .product--4nml-viewport .global-media-settings {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  .product--4nml-viewport .product-media-container,
  .product--4nml-viewport .product-media-container.constrain-height {
    width: auto !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  .product--4nml-viewport .product-media-container .product__modal-opener,
  .product--4nml-viewport .product-media-container .media,
  .product--4nml-viewport .product__media,
  .product--4nml-viewport .media,
  .product--4nml-viewport .deferred-media,
  .product--4nml-viewport .deferred-media__poster {
    width: auto !important;
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    position: relative !important;
    overflow: visible !important;
  }

  .product--4nml-viewport .product-media-container .media {
    padding-top: 0 !important;
  }

  .product--4nml-viewport .product-media-container img,
  .product--4nml-viewport .product__media img,
  .product--4nml-viewport .media img,
  .product--4nml-viewport .deferred-media__poster img {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    height: 100% !important;
    max-width: none !important;
    max-height: 100% !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
  }

  .product--4nml-viewport .product__media-icon,
  .product--4nml-viewport .product__media-zoom-lightbox,
  .product--4nml-viewport .product__media-zoom-hover,
  .product--4nml-viewport .product__media-icon--hover,
  .product--4nml-viewport .product__media-icon--lightbox,
  .product--4nml-viewport .product__media-toggle::after {
    display: none !important;
  }

  .product--4nml-viewport .thumbnail-slider {
    display: flex !important;
    align-items: center;
    position: relative !important;
    height: auto !important;
    margin-top: 0.55rem !important;
    margin-bottom: 0.95rem !important;
    border-top: 0 !important;
    overflow: visible !important;
  }

  .product--4nml-viewport .thumbnail-list,
  .product--4nml-viewport .product__hero-summary-inner,
  .product--4nml-viewport .product__details {
    width: min(1200px, calc(100vw - 32px)) !important;
    max-width: min(1200px, calc(100vw - 32px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
  }

  .product--4nml-viewport .thumbnail-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0.45rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    list-style: none;
    scrollbar-width: none;
  }

  .product--4nml-viewport .thumbnail-list::-webkit-scrollbar {
    display: none;
  }

  .product--4nml-viewport .thumbnail-list__item {
    flex: 0 0 auto;
    width: clamp(46px, 4vw, 64px);
    height: clamp(62px, 5.4vw, 88px);
  }

  .product--4nml-viewport .thumbnail-list__item::before {
    display: none;
  }

  .product--4nml-viewport .thumbnail,
  .product--4nml-viewport .thumbnail[aria-current],
  .product--4nml-viewport .thumbnail:focus,
  .product--4nml-viewport .thumbnail:focus-visible,
  .product--4nml-viewport .thumbnail.focused {
    width: 100%;
    height: 100%;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    background: transparent !important;
    padding: 0 !important;
  }

  .product--4nml-viewport .product__hero-summary {
    display: block !important;
    margin: 0 0 0.85rem 0 !important;
    border-top: 0 !important;
  }

  .product--4nml-viewport .product__hero-summary-inner {
    display: block !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .product--4nml-viewport .product__hero-title-wrap,
  .product--4nml-viewport .product__title,
  .product--4nml-viewport .product__title--hero {
    margin: 0 0 0.45rem 0 !important;
    padding: 0 !important;
  }

  .product--4nml-viewport h1 {
    margin: 0 !important;
    line-height: 1.05 !important;
    font-size: clamp(1.65rem, 1.8vw, 2.2rem);
  }

  .product--4nml-viewport .product__hero-price-wrap,
  .product--4nml-viewport .product__hero-price {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: normal !important;
  }

  .product--4nml-viewport .product__hero-price .price,
  .product--4nml-viewport .product__hero-price .price__container,
  .product--4nml-viewport .product__hero-price .price dl {
    margin: 0 !important;
  }

  .product--4nml-viewport .product__details {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 5rem !important;
  }

  .product--4nml-viewport .product__info-container {
    margin-top: 0 !important;
  }

  .product--4nml-viewport .product__info-container > *:first-child {
    margin-top: 0 !important;
  }

  .product--4nml-viewport .product__info-container > * + * {
    margin-top: 1rem !important;
  }

  .product--4nml-viewport .installment,
  .product--4nml-viewport .product__tax,
  .product--4nml-viewport .volume-pricing-note {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .product--4nml-viewport variant-selects,
  .product--4nml-viewport .product-form__input,
  .product--4nml-viewport .product-form,
  .product--4nml-viewport .product-form__buttons,
  .product--4nml-viewport .product-form__quantity {
    margin-top: 0 !important;
  }

  .product--4nml-viewport .slider-buttons {
    display: none !important;
  }
}

@media screen and (min-width: 990px) and (max-height: 760px) {
  .product--4nml-viewport .product__media-list {
    height: clamp(300px, 60dvh, 620px) !important;
    min-height: 300px !important;
    max-height: 620px !important;
  }

  .product--4nml-viewport .thumbnail-slider {
    margin-top: 0.4rem !important;
    margin-bottom: 0.7rem !important;
  }

  .product--4nml-viewport h1 {
    font-size: clamp(1.42rem, 1.5vw, 1.9rem);
  }
}

/* =========================
   MOBILE: RESTORE DEFAULT SLIDESHOW
========================= */

@media screen and (max-width: 989px) {
  .product--4nml-viewport .product__hero,
  .product--4nml-viewport .product__hero-gallery,
  .product--4nml-viewport media-gallery,
  .product--4nml-viewport .product-gallery-viewer {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
  }

  .product--4nml-viewport .product__media-list {
    display: flex !important;
    width: calc(100% + 4rem) !important;
    margin-left: -2.5rem !important;
    margin-bottom: 1rem !important;
    padding: 0 !important;
    gap: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
  }

  .product--4nml-viewport .product__media-item,
  .product--4nml-viewport .product__media-item.is-active,
  .product--4nml-viewport .product__media-item:not(.is-active) {
    display: flex !important;
    flex: 0 0 calc(100% - 3rem - var(--grid-mobile-horizontal-spacing)) !important;
    width: calc(100% - 3rem - var(--grid-mobile-horizontal-spacing)) !important;
    max-width: calc(100% - 3rem - var(--grid-mobile-horizontal-spacing)) !important;
    scroll-snap-align: start;
    align-items: center;
  }

  .product--4nml-viewport .product-media-container,
  .product--4nml-viewport .product-media-container.constrain-height,
  .product--4nml-viewport .product-media-container .product__modal-opener,
  .product--4nml-viewport .product-media-container .media,
  .product--4nml-viewport .product__media,
  .product--4nml-viewport .media,
  .product--4nml-viewport .deferred-media,
  .product--4nml-viewport .deferred-media__poster {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  .product--4nml-viewport .product-media-container .media {
    padding-top: 0 !important;
  }

  .product--4nml-viewport .product-media-container img,
  .product--4nml-viewport .product__media img,
  .product--4nml-viewport .media img,
  .product--4nml-viewport .deferred-media__poster img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
    display: block !important;
  }

  .product--4nml-viewport .slider-buttons {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 0 0 0.75rem 0;
    padding: 0 1.5rem;
  }

  .product--4nml-viewport .slider-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
  }

  .product--4nml-viewport .thumbnail-slider {
    display: none !important;
  }

  .product--4nml-viewport .product__hero-summary {
    margin-bottom: 0.75rem;
    border-top: 0 !important;
  }

  .product--4nml-viewport .product__hero-summary-inner {
    display: block !important;
    padding: 0 1.5rem !important;
  }

  .product--4nml-viewport .product__details {
    padding: 0 1.5rem 3rem !important;
  }

  .product--4nml-viewport .product__media-icon,
  .product--4nml-viewport .product__media-zoom-lightbox,
  .product--4nml-viewport .product__media-zoom-hover,
  .product--4nml-viewport .product__media-icon--hover,
  .product--4nml-viewport .product__media-icon--lightbox,
  .product--4nml-viewport .product__media-toggle::after {
    display: none !important;
  }
}

/* modal + popup */
.product-media-modal {
  background-color: rgb(var(--color-background));
  height: 100%;
  position: fixed;
  inset: 0;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  z-index: -1;
}

.product-media-modal[open] {
  visibility: visible;
  opacity: 1;
  z-index: 101;
}

.product-media-modal__dialog {
  display: flex;
  align-items: center;
  height: 100vh;
}

.product-media-modal__content {
  max-height: 100vh;
  width: 100%;
  overflow: auto;
}

.product-media-modal__content > * {
  display: block;
  height: auto;
  margin: auto;
}

.product-media-modal__content .media {
  background: none;
}

.product-media-modal__toggle {
  background-color: rgb(var(--color-background));
  border: 0.1rem solid rgba(var(--color-foreground), 0.1);
  border-radius: 50%;
  color: rgba(var(--color-foreground), 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  right: 2rem;
  padding: 1.2rem;
  position: fixed;
  z-index: 2;
  top: 2rem;
  width: 4rem;
}

.product-popup-modal {
  box-sizing: border-box;
  opacity: 0;
  position: fixed;
  visibility: hidden;
  z-index: -1;
  margin: 0 auto;
  top: 0;
  left: 0;
  overflow: auto;
  width: 100%;
  background: rgba(var(--color-foreground), 0.2);
  height: 100%;
}

.product-popup-modal[open] {
  opacity: 1;
  visibility: visible;
  z-index: 101;
}

/* =========================
   4NML MOBILE RESET (USE DAWN DEFAULT)
========================= */

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

  /* remove ALL custom rail behavior */
  .product--4nml-viewport .product__media-list {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    height: auto !important;
  }

  /* restore Dawn slider structure */
  .product--4nml-viewport .slider {
    display: flex !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .product--4nml-viewport .product__media-item {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    scroll-snap-align: start;
  }

  /* fix tall images (this is your 3000x2000 issue) */
  .product--4nml-viewport .product__media img {
    width: 100% !important;
    height: auto !important;
    max-height: 75dvh !important;
    object-fit: contain !important;
  }

  /* keep arrows */
  .product--4nml-viewport .slider-buttons {
    display: flex !important;
  }

  /* thumbnails optional */
  .product--4nml-viewport .thumbnail-slider {
    display: flex !important;
  }
}

/* =========================
   4NML LIGHTBOX FIX
========================= */

/* ensure click layer exists */
.product--4nml-viewport .product__modal-opener {
  pointer-events: auto !important;
}

/* DO NOT hide the clickable overlay */
.product--4nml-viewport .product__media-toggle {
  display: block !important;
  pointer-events: auto !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2;
}

/* remove ONLY the icon, not the click layer */
.product--4nml-viewport .product__media-icon,
.product--4nml-viewport .product__media-zoom-lightbox,
.product--4nml-viewport .product__media-icon--lightbox,
.product--4nml-viewport .product__media-icon--hover {
  display: none !important;
}

/* keep image clickable */
.product--4nml-viewport .product__media {
  position: relative;
}

/* =========================
   4NML DESKTOP OVERRIDE
   Keep Dawn mobile, custom desktop rail
========================= */

@media screen and (min-width: 990px) {
  .page-width.product-page-4nml-shell {
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .product--4nml-viewport {
    --product-content-max: 1200px;
    --product-content-pad: clamp(16px, 2vw, 32px);
    --product-content-width: min(var(--product-content-max), calc(100vw - (var(--product-content-pad) * 2)));
    width: 100%;
    max-width: 100%;
  }

  /* let the overall hero flow naturally */
  .product--4nml-viewport .product__hero,
  .product--4nml-viewport .product__hero-gallery,
  .product--4nml-viewport media-gallery,
  .product--4nml-viewport .product-gallery-viewer,
  .product--4nml-viewport .slider-mobile-gutter {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* main rail only */
  .product--4nml-viewport #Slider-Gallery-,
  .product--4nml-viewport .product__media-list {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    height: clamp(340px, 66dvh, 720px) !important;
    min-height: 340px !important;
    max-height: 720px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    list-style: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity !important;
    scroll-behavior: smooth;
    scrollbar-width: none;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
  }

  .product--4nml-viewport .product__media-list::-webkit-scrollbar {
    display: none;
  }

  .product--4nml-viewport .product__media-list.is-dragging {
    cursor: grabbing;
  }

  .product--4nml-viewport .product__media-item,
  .product--4nml-viewport .product__media-item.grid__item,
  .product--4nml-viewport .product__media-item.slider__slide,
  .product--4nml-viewport .product__media-item.is-active,
  .product--4nml-viewport .product__media-item:not(.is-active) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    scroll-snap-align: start !important;
  }

  /* kill Dawn desktop hiding */
  .product--4nml-viewport .product__media-item:not(.is-active) {
    display: flex !important;
  }

  /* remove boxed look */
  .product--4nml-viewport .product-media-container,
  .product--4nml-viewport .product-media-container.constrain-height,
  .product--4nml-viewport .global-media-settings,
  .product--4nml-viewport .media,
  .product--4nml-viewport .product__media,
  .product--4nml-viewport .product__modal-opener,
  .product--4nml-viewport .deferred-media,
  .product--4nml-viewport .deferred-media__poster {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  .product--4nml-viewport .product-media-container,
  .product--4nml-viewport .product-media-container.constrain-height {
    width: auto !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  .product--4nml-viewport .product-media-container .product__modal-opener,
  .product--4nml-viewport .product-media-container .media,
  .product--4nml-viewport .product__media,
  .product--4nml-viewport .media,
  .product--4nml-viewport .deferred-media,
  .product--4nml-viewport .deferred-media__poster {
    width: auto !important;
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    position: relative !important;
    overflow: visible !important;
  }

  .product--4nml-viewport .product-media-container .media {
    padding-top: 0 !important;
  }

  .product--4nml-viewport .product-media-container img,
  .product--4nml-viewport .product__media img,
  .product--4nml-viewport .media img,
  .product--4nml-viewport .deferred-media__poster img {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    height: 100% !important;
    max-width: none !important;
    max-height: 100% !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
  }

  /* keep lightbox click area, hide icon only */
  .product--4nml-viewport .product__media-icon,
  .product--4nml-viewport .product__media-zoom-lightbox,
  .product--4nml-viewport .product__media-zoom-hover,
  .product--4nml-viewport .product__media-icon--hover,
  .product--4nml-viewport .product__media-icon--lightbox {
    display: none !important;
  }

  .product--4nml-viewport .product__media-toggle {
    display: block !important;
    pointer-events: auto !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
  }

  .product--4nml-viewport .product__media-toggle::after {
    display: block !important;
  }

  /* hide desktop gallery arrows/counter */
  .product--4nml-viewport #GalleryViewer-{{ section.id }} .slider-buttons,
  .product--4nml-viewport .product-gallery-viewer > .slider-buttons,
  .product--4nml-viewport .product__hero-gallery .slider-buttons {
    display: none !important;
  }

  /* thumbnails under rail */
  .product--4nml-viewport .thumbnail-slider {
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    height: auto !important;
    margin-top: 0.55rem !important;
    margin-bottom: 0.95rem !important;
    border-top: 0 !important;
    overflow: visible !important;
  }

  .product--4nml-viewport .thumbnail-list,
  .product--4nml-viewport .product__hero-summary-inner,
  .product--4nml-viewport .product__details {
    width: var(--product-content-width) !important;
    max-width: var(--product-content-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
  }

  .product--4nml-viewport .thumbnail-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0.45rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    list-style: none !important;
    scrollbar-width: none;
  }

  .product--4nml-viewport .thumbnail-list::-webkit-scrollbar {
    display: none;
  }

  .product--4nml-viewport .thumbnail-list__item,
  .product--4nml-viewport .thumbnail-list__item.slider__slide {
    flex: 0 0 auto !important;
    width: clamp(46px, 4vw, 64px) !important;
    height: clamp(62px, 5.4vw, 88px) !important;
  }

  .product--4nml-viewport .thumbnail-list__item::before {
    display: none !important;
  }

  .product--4nml-viewport .thumbnail,
  .product--4nml-viewport .thumbnail[aria-current],
  .product--4nml-viewport .thumbnail:focus,
  .product--4nml-viewport .thumbnail:focus-visible,
  .product--4nml-viewport .thumbnail.focused {
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    background: transparent !important;
    padding: 0 !important;
  }

  /* thumbnail slider arrows hidden on desktop */
  .product--4nml-viewport .thumbnail-slider .slider-button {
    display: none !important;
  }

  /* summary */
  .product--4nml-viewport .product__hero-summary {
    display: block !important;
    margin: 0 0 0.85rem 0 !important;
    border-top: 0 !important;
  }

  .product--4nml-viewport .product__hero-summary-inner {
    display: block !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .product--4nml-viewport .product__hero-title-wrap,
  .product--4nml-viewport .product__title,
  .product--4nml-viewport .product__title--hero {
    margin: 0 0 0.45rem 0 !important;
    padding: 0 !important;
  }

  .product--4nml-viewport h1 {
    margin: 0 !important;
    line-height: 1.05 !important;
    font-size: clamp(1.65rem, 1.8vw, 2.2rem);
  }

  .product--4nml-viewport .product__hero-price-wrap,
  .product--4nml-viewport .product__hero-price {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: normal !important;
  }

  .product--4nml-viewport .product__hero-price .price,
  .product--4nml-viewport .product__hero-price .price__container,
  .product--4nml-viewport .product__hero-price .price dl {
    margin: 0 !important;
  }

  /* details */
  .product--4nml-viewport .product__details {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 5rem !important;
  }

  .product--4nml-viewport .product__info-container {
    margin-top: 0 !important;
  }

  .product--4nml-viewport .product__info-container > *:first-child {
    margin-top: 0 !important;
  }

  .product--4nml-viewport .product__info-container > * + * {
    margin-top: 1rem !important;
  }

  .product--4nml-viewport .installment,
  .product--4nml-viewport .product__tax,
  .product--4nml-viewport .volume-pricing-note {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .product--4nml-viewport variant-selects,
  .product--4nml-viewport .product-form__input,
  .product--4nml-viewport .product-form,
  .product--4nml-viewport .product-form__buttons,
  .product--4nml-viewport .product-form__quantity {
    margin-top: 0 !important;
  }
}

@media screen and (min-width: 990px) and (max-height: 760px) {
  .product--4nml-viewport .product__media-list {
    height: clamp(300px, 60dvh, 620px) !important;
    min-height: 300px !important;
    max-height: 620px !important;
  }

  .product--4nml-viewport .thumbnail-slider {
    margin-top: 0.4rem !important;
    margin-bottom: 0.7rem !important;
  }

  .product--4nml-viewport h1 {
    font-size: clamp(1.42rem, 1.5vw, 1.9rem);
  }
}

@media screen and (max-width: 989px) {
  .product--4nml-viewport .product__media-list {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  .product--4nml-viewport .product__media-item,
  .product--4nml-viewport .product__media-item.grid__item,
  .product--4nml-viewport .product__media-item.slider__slide,
  .product--4nml-viewport .product__media-item.is-active,
  .product--4nml-viewport .product__media-item:not(.is-active) {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .product--4nml-viewport .product__media-wrapper .slider-mobile-gutter {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media screen and (max-width: 989px) {
  .product--4nml-viewport .product__media-list {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    column-gap: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-padding-left: 0 !important;
    scroll-padding-right: 0 !important;
  }

  .product--4nml-viewport .product__media-item,
  .product--4nml-viewport .product__media-item.grid__item,
  .product--4nml-viewport .product__media-item.slider__slide,
  .product--4nml-viewport .product__media-item.is-active,
  .product--4nml-viewport .product__media-item:not(.is-active) {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    scroll-snap-align: start !important;
  }

  .product--4nml-viewport .slider-mobile-gutter,
  .product--4nml-viewport .product__media-wrapper .slider-mobile-gutter,
  .product--4nml-viewport .product-gallery-viewer {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

@media screen and (max-width: 989px) {
  .product--4nml-viewport .thumbnail-slider {
    justify-content: center !important;
  }

  .product--4nml-viewport .thumbnail-list {
    justify-content: center !important;
  }
}

/* =========================
   PRODUCT HEADER SPACING (LUXURY RHYTHM)
========================= */

.product--4nml-viewport .product__text {
  margin-bottom: 0.5rem !important; /* 4NML */
}

.product--4nml-viewport .product__title {
  margin-bottom: 0.75rem !important; /* product name */
}

.product--4nml-viewport .product__price,
.product--4nml-viewport .price {
  margin-bottom: 1.5rem !important; /* space before Size */
}