/** Shopify CDN: Minification failed

Line 278:18 Expected ":"

**/
.pallis-product {
  --pallis-surface: #fafaf8;
  --pallis-media: #f5f5f2;
  --pallis-ink: #111111;
  --pallis-muted: rgba(17, 17, 17, 0.56);
  --pallis-soft: rgba(17, 17, 17, 0.34);
  --pallis-line: rgba(17, 17, 17, 0.10);
  --pallis-line-strong: rgba(17, 17, 17, 0.22);
  --pallis-ease: cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  width: 100%;
  min-width: 0;

  background: var(--pallis-surface);
  color: var(--pallis-ink);
}

.pallis-product *,
.pallis-product *::before,
.pallis-product *::after {
  box-sizing: border-box;
}

.pallis-product img,
.pallis-product video,
.pallis-product iframe,
.pallis-product model-viewer {
  max-width: 100%;
}

.pallis-product button,
.pallis-product input,
.pallis-product select,
.pallis-product textarea {
  font: inherit;
}

.pallis-product .page-width {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding-inline: clamp(20px, 2.5vw, 42px);
}

@media screen and (min-width: 990px) {
  .pallis-product .page-width {
    max-width: none;
    padding-inline: clamp(40px, 5vw, 96px);
  }
}

/* =========================================
   02. MAIN LAYOUT
========================================= */

.pallis-product .product {
  margin: 0;
  align-items: flex-start;
}

.pallis-product .product__media-wrapper,
.pallis-product .product__info-wrapper {
  min-width: 0;
}

.pallis-product .product__info-wrapper {
  padding: 0;
}

.pallis-product .product__info-container {
  width: 100%;
  max-width: 500px;
  margin: 0;
  padding: 42px 0 96px;
}

.pallis-product .product__column-sticky {
  top: 110px;
}

/* =========================================
   03. MEDIA / GALLERY
   Keep Dawn behaviour intact
========================================= */

.pallis-product media-gallery,
.pallis-product slider-component,
.pallis-product .slider-mobile-gutter {
  display: block;
  width: 100%;
  min-width: 0;
}

.pallis-product .product__media-wrapper {
  width: 100%;
  max-width: none;
}

.pallis-product .product__media-list {
  margin: 0;
  gap: 14px;
}

.pallis-product .product__media-item {
  border: 0;
  background: var(--pallis-media);
}

.pallis-product .product__media,
.pallis-product .product__modal-opener,
.pallis-product .product__media-toggle {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: var(--pallis-media);
}

.pallis-product .product__media {
  overflow: hidden;
}

.pallis-product .product__media img,
.pallis-product .product__media video,
.pallis-product .product__media iframe,
.pallis-product .product__media model-viewer {
  display: block;
  width: 100%;
  height: 100%;
}

.pallis-product .product__media img,
.pallis-product .product__media video {
  object-fit: contain;
}

/* Quiet zoom control */

.pallis-product .product__media-icon,
.pallis-product .product__modal-opener .product__media-icon {
  width: 40px;
  height: 40px;
  right: 16px;
  bottom: 16px;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 50%;
  background: rgba(250, 250, 248, 0.92);
  box-shadow: none;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.pallis-product .product__media-icon .icon {
  width: 14px;
  height: 14px;
}

/* Thumbnail styling — still Dawn controlled */

.pallis-product .thumbnail-slider {
  margin-top: 12px;
}

.pallis-product .thumbnail-list {
  gap: 9px;
}

.pallis-product .thumbnail {
  border: 1px solid transparent;
  border-radius: 0;
  background: var(--pallis-media);
  box-shadow: none;
  opacity: 0.62;
  transition:
    opacity 180ms ease,
    border-color 180ms ease;
}

.pallis-product .thumbnail:hover,
.pallis-product .thumbnail[aria-current="true"] {
  opacity: 1;
  border-color: var(--pallis-line-strong);
  box-shadow: none;
}

/* Dawn slider controls */

.pallis-product .product__media-wrapper .slider-buttons {
  min-height: 54px;
  margin: 0;
  border-top: 1px solid var(--pallis-line);
}

.pallis-product .product__media-wrapper .slider-button {
  color: var(--pallis-ink);
}

.pallis-product .product__media-wrapper .slider-counter {
  font-family: var(--font-body-family);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.18em;
  color: var(--pallis-muted);
}

/* =========================================
   04. EYEBROW
========================================= */

.pallis-product .product__text {
  margin: 0 0 18px;
  font-family: var(--font-body-family);
  font-size: 8px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.20em;
  text-transform: none;
  color: var(--pallis-soft);
}

/* =========================================
   05. TITLE
========================================= */

.pallis-product .product__title{
    margin:0 0 34px;
}

.pallis-product .product__title h1{
    margin:0;
}

/* -----------------------------------------
   Product Name
----------------------------------------- */

.pallis-product-title__name{

    font-family:var(--font-heading-family);

    font-size:clamp(30px,2vw,38px);

    font-weight:400;

    line-height:.98;

    letter-spacing:-0.035em;

    color:var(--pallis-ink);

    text-wrap:balance;
}

/* -----------------------------------------
   Product Metadata
----------------------------------------- */

.pallis-product-title__meta{

    margin-top:16px;

    max-width:24ch;

    font-family:var(--font-body-family);

    font-size:10px;

    font-weight:400;

    line-height:1.6;

    letter-spacing:.16em;

    text-transform none;

    color:rgba(17,17,17,.56);
}

/* -----------------------------------------
   Mobile
----------------------------------------- */

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

.pallis-product .product__title{
    margin-bottom:28px;
}

.pallis-product-title__name{

    font-size:30px;

}

.pallis-product-title__meta{

    margin-top:14px;

    font-size:10px;

    letter-spacing:.14em;

}

}
/* =========================================
   06. PRICE
========================================= */

.pallis-product [id^="price-"] {
  margin: 20px 0 38px;
}

.pallis-product .price,
.pallis-product .price-item,
.pallis-product .price--large {
  font-family: var(--font-body-family);
  font-size: 11px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.07em;
  color: rgba(17, 17, 17, 0.68);
}

.pallis-product .price__sale .price-item--regular {
  color: var(--pallis-soft);
}

.pallis-product .price__sale .price-item--sale {
  color: var(--pallis-ink);
}

/* =========================================
   07. REMOVE VISUAL CLUTTER
========================================= */

.pallis-product .product__tax,
.pallis-product .installment,
.pallis-product .volume-pricing-note,
.pallis-product .product__sku,
.pallis-product .product__inventory,
.pallis-product .product__view-details,
.pallis-product pickup-availability,
.pallis-product .shopify-payment-button,
.pallis-product .product-form__quantity,
.pallis-product .product__xr-button {
  display: none !important;
}

/* =========================================
   08. VARIANTS
========================================= */

.pallis-product variant-selects,
.pallis-product variant-radios {
  display: block;
  margin: 0 0 30px;
}

.pallis-product .product-form__input {
  width: 100%;
  max-width: none;
  margin: 0 0 24px;
  padding: 0;
  border: 0;
}

.pallis-product .product-form__input:last-child {
  margin-bottom: 0;
}

.pallis-product .product-form__input .form__label {
  margin: 0 0 14px;
  font-family: var(--font-body-family);
  font-size: 8px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.18em;
  text-transform: none;
  color: var(--pallis-soft);
}

/* Button-style variants become editorial rows */

.pallis-product .product-form__input input[type="radio"] + label:not(.swatch-input__label) {
  position: relative;
  width: 100%;
  min-width: 0;
  min-height: 56px;
  margin: 0;
  padding: 0 30px 0 0;

  border: 0;
  border-bottom: 1px solid var(--pallis-line);
  border-radius: 0;
  background: transparent;
  color: rgba(17, 17, 17, 0.56);

  display: flex;
  align-items: center;

  font-family: var(--font-body-family);
  font-size: 10.5px;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.025em;
  text-transform: none;
  text-align: left;
  cursor: pointer;

  transition:
    color 180ms ease,
    border-color 180ms ease,
    padding-left 360ms var(--pallis-ease);
}

.pallis-product .product-form__input input[type="radio"] + label:not(.swatch-input__label)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2px;

  width: 14px;
  height: 1px;
  border: 0;
  border-radius: 0;
  background: rgba(17, 17, 17, 0.28);

  transform: translateY(-50%) scaleX(0.35);
  transform-origin: right center;

  transition:
    background 180ms ease,
    transform 360ms var(--pallis-ease);
}

.pallis-product .product-form__input input[type="radio"] + label:not(.swatch-input__label):hover {
  color: var(--pallis-ink);
  border-color: var(--pallis-line-strong);
  padding-left: 5px;
}

.pallis-product .product-form__input input[type="radio"]:checked + label:not(.swatch-input__label) {
  color: var(--pallis-ink);
  border-color: var(--pallis-ink);
}

.pallis-product .product-form__input input[type="radio"]:checked + label:not(.swatch-input__label)::after {
  background: var(--pallis-ink);
  transform: translateY(-50%) scaleX(1);
}

.pallis-product .product-form__input input[type="radio"]:disabled + label:not(.swatch-input__label),
.pallis-product .product-form__input input[type="radio"].disabled + label:not(.swatch-input__label) {
  color: rgba(17, 17, 17, 0.23);
  cursor: not-allowed;
  text-decoration: line-through;
}
/* Swatch compatibility */

.pallis-product .swatch-input__input + .swatch-input__label {
  border-radius: 0;
  box-shadow: none;
}

.pallis-product .swatch-input__input:checked + .swatch-input__label {
  outline: 1px solid var(--pallis-ink);
  outline-offset: 3px;
}

/* Select dropdowns */

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

.pallis-product .select__select {
  width: 100%;
  min-height: 50px;
  padding: 0 36px 0 0;
  border: 0;
  border-bottom: 1px solid var(--pallis-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-family: var(--font-body-family);
  font-size: 10px;
  color: var(--pallis-ink);
}

.pallis-product .select__select:focus {
  border-bottom-color: var(--pallis-ink);
  box-shadow: none;
  outline: none;
}

.pallis-product .select::before,
.pallis-product .select::after {
  display: none;
}

/* =========================================
   09. ADD TO BAG
========================================= */

.pallis-product .product-form {
  margin: 0;
}

.pallis-product .product-form__buttons {
  width: 100%;
  max-width: none;
}

.pallis-product .product-form__submit {
  position: relative;
  width: 100%;
  min-height: 62px;
  margin: 0;
  padding: 0 36px 0 2px;

  border: 0;
  border-top: 1px solid var(--pallis-ink);
  border-bottom: 1px solid var(--pallis-ink);
  border-radius: 0;

  background: transparent;
  color: var(--pallis-ink);
  box-shadow: none;

  display: flex;
  align-items: center;
  justify-content: flex-start;

  font-family: var(--font-body-family);
  font-size: 9px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.20em;
  text-transform: none;
  text-align: left;

  transition:
    padding-left 420ms var(--pallis-ease),
    color 220ms ease,
    opacity 220ms ease;
}

.pallis-product .product-form__submit::before {
  content: "→";
  position: absolute;
  right: 3px;
  top: 50%;
  transform: translateY(-52%);

  font-family: var(--font-body-family);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0;

  transition: transform 420ms var(--pallis-ease);
}

.pallis-product .product-form__submit::after {
  display: none;
}

.pallis-product .product-form__submit:hover:not([disabled]) {
  padding-left: 8px;
  background: transparent;
  color: var(--pallis-ink);
}

.pallis-product .product-form__submit:hover:not([disabled])::before {
  transform: translate(4px, -52%);
}

.pallis-product .product-form__submit[disabled] {
  border-color: var(--pallis-line);
  background: transparent;
  color: rgba(17, 17, 17, 0.28);
  cursor: default;
}

.pallis-product .product-form__submit[disabled]::before {
  opacity: 0;
}


/* =========================================
   10. DESCRIPTION
========================================= */
.pallis-product .product__description {
  width: 100%;
  max-width: none;

  margin: 18px 0 20px;
  padding: 0;

  font-family: var(--font-body-family);
  font-size: 11.5px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.01em;

  color: rgba(17, 17, 17, 0.68);
}

.pallis-product .product__description p {
  margin: 0 0 16px;
}

.pallis-product .product__description p:last-child {
  margin-bottom: 0;
}

.pallis-product .product__description strong {
  color: var(--pallis-ink);
  font-weight: 500;
}

/* =========================================
   11. ACCORDIONS
========================================= */

.pallis-product .product__accordion {
  margin: 0;
  border-top: 1px solid var(--pallis-line);
  border-bottom: 0;
}

.pallis-product .product__accordion:last-of-type {
  border-bottom: 1px solid var(--pallis-line);
}

.pallis-product .product__accordion summary {
  position: relative;

  display: flex;
  align-items: center;

  min-height: 60px;
  padding: 0 24px 0 0;

  cursor: pointer;
}

.pallis-product .product__accordion .summary__title {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  gap: 9px;
}

/* Editorial icon beside the accordion title */

.pallis-product .product__accordion .icon-accordion {
  display: block;

  width: 12px;
  height: 12px;
  flex: 0 0 12px;

  margin: 0;

  color: rgba(17, 17, 17, 0.58);
  opacity: 0.82;

  stroke-width: 1.1;

  transition:
    color 180ms ease,
    opacity 180ms ease,
    transform 300ms var(--pallis-ease);
}

/*
  Hide Dawn's default caret because the custom
  plus/minus control remains on the right.
*/

.pallis-product .product__accordion summary .icon-caret {
  display: none;
}

.pallis-product .product__accordion .accordion__title {
  margin: 0;
  padding-left: 0;

  font-family: var(--font-body-family);
  font-size: 9px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.17em;
  text-transform: none;

  color: rgba(17, 17, 17, 0.68);

  transition:
    color 180ms ease,
    transform 320ms var(--pallis-ease);
}

.pallis-product .product__accordion summary:hover .accordion__title {
  color: var(--pallis-ink);
  transform: translateX(3px);
}

.pallis-product .product__accordion summary:hover .icon-accordion {
  color: var(--pallis-ink);
  opacity: 1;
  transform: translateX(2px);
}

/* Plus / minus */

.pallis-product .product__accordion summary::before,
.pallis-product .product__accordion summary::after {
  content: "";

  position: absolute;
  top: 50%;
  right: 2px;

  width: 9px;
  height: 1px;

  background: rgba(17, 17, 17, 0.48);

  transform: translateY(-50%);

  transition:
    opacity 180ms ease,
    transform 300ms var(--pallis-ease),
    background-color 180ms ease;
}

.pallis-product .product__accordion summary::after {
  transform: translateY(-50%) rotate(90deg);
}

.pallis-product .product__accordion[open] summary::after {
  opacity: 0;
  transform: translateY(-50%) rotate(0deg);
}

.pallis-product .product__accordion summary:hover::before,
.pallis-product .product__accordion summary:hover::after {
  background: var(--pallis-ink);
}

/* Accordion content */

.pallis-product .product__accordion .accordion__content {
  max-width: 36ch;

  padding: 0 30px 26px 21px;

  font-family: var(--font-body-family);
  font-size: 10.5px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.018em;

  color: var(--pallis-muted);
}

.pallis-product .product__accordion .accordion__content p {
  margin: 0 0 14px;
}

.pallis-product .product__accordion .accordion__content p:last-child {
  margin-bottom: 0;
}
/* =========================================
   12. ERROR STATES
========================================= */

.pallis-product .product-form__error-message-wrapper {
  margin: 12px 0 0;
  font-family: var(--font-body-family);
  font-size: 9px;
  line-height: 1.4;
  color: #8a2d2d;
}

/* =========================================
   14. TABLET
========================================= */

@media screen and (min-width: 750px) and (max-width: 989px) {
  .pallis-product .page-width {
    padding-inline: 22px;
  }

  .pallis-product .product {
    column-gap: 40px;
  }

  .pallis-product .product__info-container {
    padding-top: 18px;
  }

  .pallis-product .product__title h1,
  .pallis-product .product__title h2 {
    font-size: 34px;
  }

  .pallis-product .product__media {
    aspect-ratio: 1 / 1.08;
  }

  .pallis-product .product__media img {
    padding: 7%;
  }
}

/* =========================================
   15. MOBILE — PREMIUM SWIPE + FULLSCREEN ZOOM
========================================= */

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

  /* Exact background used by the product renders */

  .pallis-product {
    --pallis-render-bg: #f3f1f2;
  }

  /* =========================================
     MOBILE PAGE STRUCTURE
  ========================================= */

  .pallis-product .page-width {
    width: 100%;
    max-width: none;
    margin: 0;
    padding-inline: 0;
  }

  .pallis-product .product {
    display: block;
    width: 100%;
    margin: 0;
  }

  /* =========================================
     MOBILE MEDIA COLUMN
  ========================================= */

  .pallis-product .product__media-wrapper {
  width: calc(100% - 28px) !important;
  min-width: 0;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;

  background: var(--pallis-render-bg);
}
.pallis-product media-gallery,
.pallis-product slider-component,
.pallis-product .slider-mobile-gutter,
.pallis-product .product__media-list,
.pallis-product .thumbnail-slider,
.pallis-product .thumbnail-list {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
}

  .pallis-product media-gallery,
  .pallis-product slider-component,
  .pallis-product .slider-mobile-gutter {
    display: block;
    width: 100%;
    min-width: 0;

    background: var(--pallis-render-bg);
  }

  /* =========================================
     HORIZONTAL SWIPE GALLERY
  ========================================= */

  .pallis-product .product__media-list {
    display: flex !important;
    flex-wrap: nowrap !important;

    width: 100%;
    margin: 0;
    padding: 0;
    gap: 0;

    overflow-x: auto;
    overflow-y: hidden;

    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scroll-padding: 0;

    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;

    scrollbar-width: none;
    -ms-overflow-style: none;

    touch-action: pan-x;

    background: var(--pallis-render-bg);
  }

  .pallis-product .product__media-list::-webkit-scrollbar {
    display: none;
  }

  .pallis-product .product__media-item {
    display: block !important;
    flex: 0 0 100%;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
    border: 0;

    background: transparent;

    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  /* =========================================
     EXACT 4:5 PRODUCT STAGE
  ========================================= */

  .pallis-product .product__media,
  .pallis-product .product__media.media {
    position: relative;

    width: 100%;
    height: auto;
    min-height: 0;

    aspect-ratio: 4 / 5;
    padding-bottom: 0 !important;

    overflow: hidden;

    background: transparent;
  }

  /*
    The 4:5 frame remains unchanged.
    Only the product media inside is enlarged.
  */

  .pallis-product .product__media img,
  .pallis-product .product__media video,
  .pallis-product .product__media iframe,
  .pallis-product .product__media model-viewer {
    position: absolute;
    inset: 0;

    display: block;

    width: 100%;
    height: 100%;
    max-width: none;

    margin: 0;
    padding: 0 !important;

    object-fit: contain;
    object-position: center center;

    transform: scale(1.25) !important;
    transform-origin: center center;

    transition:
      transform 450ms var(--pallis-ease),
      opacity 300ms ease;
  }

  .pallis-product .product__media img {
    cursor: zoom-in;

    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
  }

  /* Keep Dawn’s media opener across the full image */

  .pallis-product .product__modal-opener,
  .pallis-product .product__media-toggle {
    width: 100%;
    height: 100%;

    margin: 0;
    padding: 0;

    border: 0;
    border-radius: 0;

    background: transparent;
    box-shadow: none;
  }

  /* Restrained gallery zoom icon */

  .pallis-product .product__media-icon,
  .pallis-product .product__modal-opener .product__media-icon {
    width: 40px;
    height: 40px;

    right: 14px;
    bottom: 14px;

    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 50%;

    background: rgba(243, 241, 242, 0.88);
    color: var(--pallis-ink);

    box-shadow: none;

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  /* =========================================
     MOBILE THUMBNAIL STRIP
  ========================================= */

  .pallis-product .thumbnail-slider {
    display: block !important;

    width: 100%;
    margin: 18px 0 0;
    padding: 0;

    background: var(--pallis-render-bg);
  }

  .pallis-product .thumbnail-list {
    display: grid !important;
    grid-auto-flow: column;
    grid-auto-columns: minmax(78px, 1fr);

    width: 100%;
    margin: 0;
    padding: 0;
    gap: 8px;

    overflow-x: auto;
    overflow-y: hidden;

    scroll-snap-type: x proximity;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;

    scrollbar-width: none;
    -ms-overflow-style: none;

    background: var(--pallis-render-bg);
  }

  .pallis-product .thumbnail-list::-webkit-scrollbar {
    display: none;
  }

  .pallis-product .thumbnail-list__item {
    width: auto;
    min-width: 0;
    margin: 0;

    background: transparent;

    scroll-snap-align: start;
  }

  .pallis-product .thumbnail {
    width: 100%;
    aspect-ratio: 1 / 1;

    margin: 0;
    padding: 0;

    border: 1px solid transparent;
    border-radius: 0;

    background: transparent;
    box-shadow: none;

    opacity: 0.72;

    transition:
      opacity 180ms ease,
      border-color 180ms ease;
  }

  .pallis-product .thumbnail:hover {
    opacity: 0.86;
  }

  .pallis-product .thumbnail[aria-current="true"] {
    border-color: var(--pallis-ink);
    opacity: 1;
  }

  .pallis-product .thumbnail img {
    position: static;

    display: block;
    width: 100%;
    height: 100%;

    margin: 0;
    padding: 5% !important;

    object-fit: contain;
    object-position: center center;

    transform: none !important;
  }

  .pallis-product .thumbnail-slider .slider-button,
  .pallis-product .product__media-wrapper .slider-buttons {
    display: none !important;
  }

  /* =========================================
     FULLSCREEN APPLE-LIKE PRODUCT VIEW
  ========================================= */

  .pallis-product product-media-modal,
  .pallis-product .product-media-modal {
    background: var(--pallis-render-bg);
  }

  .pallis-product .product-media-modal[open],
  .pallis-product .product-media-modal.active {
    z-index: 99999;
  }

  .pallis-product .product-media-modal__dialog {
    width: 100%;
    height: 100%;
    max-width: none;

    margin: 0;
    padding: 0;

    background: var(--pallis-render-bg);
  }

  .pallis-product .product-media-modal__content {
    position: relative;

    width: 100%;
    height: 100dvh;
    min-height: 100dvh;

    margin: 0;

    padding:
      max(18px, env(safe-area-inset-top))
      0
      max(18px, env(safe-area-inset-bottom));

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: auto;

    background: var(--pallis-render-bg);

    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;

    touch-action: pan-x pan-y pinch-zoom;
  }

  /*
    Enlarged inspection image.

    The image remains clickable for the Liquid
    tap-to-close script.
  */

  .pallis-product .product-media-modal__content img {
    position: relative;
    inset: auto;

    display: block;

    width: auto;
    height: auto;

    min-width: 118%;
    max-width: none;
    max-height: none;

    margin: auto;
    padding: 0 !important;

    object-fit: contain;
    object-position: center center;

    transform: scale(1.35) !important;
    transform-origin: center center;

    cursor: zoom-out;
    pointer-events: auto;

    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;

    touch-action: pan-x pan-y pinch-zoom;
  }

  /* Only show the currently selected modal item */

  .pallis-product
    .product-media-modal__content
    > *:not(.active) {
    display: none;
    pointer-events: none;
  }

  .pallis-product
    .product-media-modal__content
    > *.active {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-width: 100%;
    min-height: 100dvh;

    margin: 0;
    padding: 0;

    background: var(--pallis-render-bg);
    pointer-events: auto;
  }

  /* Premium fixed close control */

  .pallis-product .product-media-modal__toggle {
    position: fixed;

    top: max(14px, env(safe-area-inset-top));
    right: 14px;
    z-index: 10;

    display: grid;
    place-items: center;

    width: 44px;
    height: 44px;

    margin: 0;
    padding: 0;

    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 50%;

    background: rgba(243, 241, 242, 0.9);
    color: var(--pallis-ink);

    box-shadow: none;

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }

  .pallis-product .product-media-modal__toggle .icon {
    width: 14px;
    height: 14px;
  }

  /* =========================================
     MOBILE PRODUCT INFORMATION
  ========================================= */

  .pallis-product .product__info-wrapper {
    width: 100%;

    margin: 0;
    padding: 0 22px;
  }

  .pallis-product .product__info-container {
    width: 100%;
    max-width: none;

    margin: 0;
    padding: 32px 0 88px;
  }

  /* =========================================
     PRODUCT TITLE
  ========================================= */

  .pallis-product .product__title {
    margin: 0 0 30px;
  }

  .pallis-product-title__name {
    display: block;

    margin: 0 0 18px;

    font-size: 30px;
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -0.035em;
  }

  .pallis-product-title__meta {
    display: block;

    max-width: 22ch;
    margin: 0;

    font-size: 9px;
    line-height: 1.6;
    letter-spacing: 0.13em;
    text-transform: none;
  }

  /* =========================================
     PRICE
  ========================================= */

  .pallis-product [id^="price-"] {
    margin: 17px 0 30px;
  }

  .pallis-product .price,
  .pallis-product .price-item,
  .pallis-product .price--large {
    font-size: 10px;
    line-height: 1.3;
    letter-spacing: 0.08em;
  }

  /* Each colourway has its own product page */

  .pallis-product variant-selects,
  .pallis-product variant-radios,
  .pallis-product .product-form__input--pill,
  .pallis-product .product-form__input--swatch {
    display: none !important;
  }

  /* Purchase action */

  .pallis-product .product-form__submit {
    min-height: 58px;

    border-radius: 0;

    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: none;
  }

  /* Editorial description */

  .pallis-product .product__description {
    max-width: 35ch;
    margin: 44px 0 38px;
  }

  /* Accordions */

  .pallis-product .product__accordion summary {
    min-height: 56px;
  }

  /* Remove discontinued drag controls */

  .pallis-drag-control {
    display: none !important;
  }
}

/* =========================================
   13. DESKTOP — VERTICAL GALLERY
========================================= */

@media screen and (min-width: 990px) {

  /* Full-width editorial canvas */

  .pallis-product .page-width {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding-inline: clamp(24px, 2.4vw, 48px);
  }

  /* Gallery left, sticky information right */

  .pallis-product .product {
    width: 100%;
    display: grid;
    grid-template-columns:
      minmax(0, 1.72fr)
      minmax(390px, 0.72fr);
    column-gap: clamp(26px, 3vw, 58px);
    align-items: start;
  }

  /* =========================================
     DESKTOP MEDIA COLUMN
  ========================================= */

  .pallis-product .product__media-wrapper {
    position: relative;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    margin: 0;
    padding: 0;
  }

  .pallis-product media-gallery,
  .pallis-product slider-component,
  .pallis-product .slider-mobile-gutter {
    display: block;
    width: 100%;
    min-width: 0;
  }

  /*
    Epokhe-style two-column vertical image grid.
    Every image remains in the document flow.
  */

  .pallis-product .product__media-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;

    width: 100%;
    margin: 0;
    padding: 0;

    overflow: visible;
    scroll-snap-type: none;

    background: var(--pallis-line);
  }

  .pallis-product .product__media-item {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
    border: 0;

    background: var(--pallis-media);

    scroll-snap-align: none;
  }

  /*
    Exact portrait frame matching the photography.
  */

  .pallis-product .product__media,
  .pallis-product .product__media.media {
    position: relative;

    width: 100%;
    height: auto;
    min-height: 0;

    aspect-ratio: 4 / 5;
    padding-bottom: 0 !important;

    overflow: hidden;
    background: var(--pallis-media);
  }

  /*
    Keep the grid size identical.
    Scale only the product inside the frame.
  */

  .pallis-product .product__media img,
  .pallis-product .product__media video,
  .pallis-product .product__media iframe,
  .pallis-product .product__media model-viewer {
    position: absolute;
    inset: 0;

    display: block;

    width: 100%;
    height: 100%;
    max-width: none;

    margin: 0;
    padding: 0 !important;

    object-fit: contain;
    object-position: center center;

    transform: scale(1.25) !important;
    transform-origin: center center;

    transition: transform 600ms var(--pallis-ease);
  }

  @media (hover: hover) {

    .pallis-product .product__media:hover img,
    .pallis-product .product__media:hover video {
      transform: scale(1.27) !important;
    }

  }

  /*
    Remove the mobile carousel interface.
  */

  .pallis-product .thumbnail-slider,
  .pallis-product .thumbnail-list,
  .pallis-product .product__media-wrapper .slider-buttons {
    display: none !important;
  }

  /* Premium zoom button */

  .pallis-product .product__media-icon,
  .pallis-product .product__modal-opener .product__media-icon {
    width: 38px;
    height: 38px;

    right: 16px;
    bottom: 16px;
  }

  /* =========================================
     DESKTOP PRODUCT INFORMATION
  ========================================= */

  .pallis-product .product__info-wrapper {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;

    padding: 0;
  }

  .pallis-product .product__column-sticky {
    position: sticky;
    top: 94px;
  }

  .pallis-product .product__info-container {
    width: 100%;
    max-width: 620px;

    margin: 0;
    padding: clamp(92px, 11vh, 148px) 0 130px;
  }

  .pallis-product .product__title h1,
  .pallis-product .product__title h2 {
    max-width: 20ch;

    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }

  .pallis-product [id^="price-"] {
    margin: 22px 0 42px;
  }

  /* Every colourway is its own product */

  .pallis-product variant-selects,
  .pallis-product variant-radios,
  .pallis-product .product-form__input--pill,
  .pallis-product .product-form__input--swatch {
    display: none !important;
  }

  .pallis-product .product-form__submit {
    min-height: 62px;
  }

  .pallis-product .product__description {
    max-width: 34ch;
    margin: 62px 0 50px;
  }

  .pallis-product .product__accordion summary {
    min-height: 60px;
  }

  .pallis-drag-control {
    display: none !important;
  }

}
/* =========================================
   MOBILE TITLE — FINAL SPACING FIX
========================================= */

@media screen and (max-width: 749px) {
  .pallis-product .product__title {
    display: block;
    margin: 0 0 32px;
    padding: 0;
  }

  .pallis-product .product__title h1 {
    display: block;
    margin: 0;
    padding: 0;
    line-height: normal;
  }

  .pallis-product-title__name {
    display: block;
    width: 100%;

    margin: 0 0 24px;
    padding: 0;

    font-size: 30px;
    font-weight: 400;
    line-height: 1.12;
    letter-spacing: -0.03em;
  }

  .pallis-product-title__meta {
    display: block;
    width: 100%;
    max-width: 24ch;
    clear: both;

    margin: 0;
    padding: 0;

    font-size: 9px;
    line-height: 1.7;
    letter-spacing: 0.13em;
    text-transform: none;
  }
}
/* =========================================
   REMOVE ADD TO CART ARROW
========================================= */

.pallis-product .product-form__submit::after,
.pallis-product .product-form__submit::before,
.pallis-product .product-form__submit .icon,
.pallis-product .product-form__submit svg {
  display: none !important;
  content: none !important;
}
/* =========================================
   PREMIUM ACCORDION ICONS
========================================= */

.pallis-product .product__accordion summary {
  display: flex;
  align-items: center;
  gap: 10px;
}

.pallis-product .product__accordion summary svg,
.pallis-product .product__accordion summary .icon {
  width: 13px;
  height: 13px;

  flex: 0 0 13px;

  opacity: .65;

  stroke-width: 1.15;
  color: var(--pallis-ink);

  transition:
    opacity .25s ease,
    transform .3s ease;
}

.pallis-product .product__accordion summary:hover svg,
.pallis-product .product__accordion summary:hover .icon {
  opacity: 1;
}
.pallis-product .product__description,
.pallis-product .product__description.rte,
.pallis-product .product__description p {
    max-width: none !important;
    width: 100% !important;
}
/* =========================================
   PALLIS PRODUCT STORY - FINAL OVERRIDE
========================================= */

.pallis-product .product__description,
.pallis-product .product__description.rte,
.pallis-product .product__description p {

    width:100% !important;
    max-width:34ch !important;

    margin:16px 0 0 !important;
    padding:0 !important;

    font-family:var(--font-body-family) !important;

    font-size:13.5px !important;

    font-weight:400 !important;

    line-height:1.95 !important;

    letter-spacing:.005em !important;

    color:rgba(17,17,17,.82) !important;
}

.pallis-product .product__description p{
    margin:0 !important;
}

.pallis-product .product__description p + p{
    margin-top:18px !important;
}

/* Craftsmanship statement */

.pallis-product .product__text{

    margin:16px 0 26px !important;

    font-size:11px !important;

    line-height:1.7 !important;

    letter-spacing:.01em !important;

    text-transform:none !important;

    color:rgba(17,17,17,.65) !important;
}

/* Reduce the space after the price */

.pallis-product [id^="price-"]{
    margin:18px 0 18px !important;
}
/* =========================================
   PALLIS PRODUCT TITLE COMPOSITION
========================================= */

.pallis-product .product__title {
  margin: 0 0 28px !important;
}

.pallis-product-title__name {
  display: block;

  margin: 0 !important;

font-family: "Cormorant Garamond", serif !important;

font-size: clamp(43px, 3vw, 48px) !important;

font-weight: 400 !important;

line-height: .98 !important;

letter-spacing: -.01em !important;

color: rgba(17,17,17,.92);
}

.pallis-product-title__meta {
  display: block;

  width: 100%;
  max-width: none !important;

  margin: 10px 0 0 !important;

  font-family: var(--font-body-family);
  font-size: 10px !important;
  font-weight: 400;
  line-height: 1.45 !important;
  letter-spacing: 0.13em !important;
  text-transform: none;

  color: rgba(17, 17, 17, 0.56);
}

/* Mobile refinement */

@media screen and (max-width: 749px) {
  .pallis-product-title__name {
    font-size: 34px !important;
    line-height: 1 !important;
  }

  .pallis-product-title__meta {
    margin-top: 9px !important;
    font-size: 9px !important;
    letter-spacing: 0.12em !important;
  }
}