html {
  scrollbar-gutter: stable;
}

html.gtg-public-theme-transition::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  pointer-events: none;
  background: #eee7da;
  opacity: 0.16;
  transition: opacity 180ms ease-out;
}

html.gtg-public-theme-transition[data-theme-transition-to='dark']::after {
  background: #1d261f;
}

html.gtg-public-theme-transition.is-active::after {
  opacity: 0;
}

.storefront-header {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  background: rgba(242, 235, 223, 0.985);
}

html[data-theme='dark'] .storefront-header {
  background: rgba(29, 39, 32, 0.985);
}

.storefront-character-image {
  filter: none !important;
}

.storefront-benefits,
.storefront-testimonials,
.storefront-faq {
  content-visibility: auto;
  contain-intrinsic-size: 1px 720px;
}
.storefront-confirmation-modal {
  contain: layout paint style;
}
.storefront-confirmation-backdrop {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}


.storefront-confirmation-modal {
  opacity: 1;
  pointer-events: none;
  transition: visibility 0s linear 220ms;
}

.storefront-confirmation-modal.is-open {
  pointer-events: auto;
  transition-delay: 0s;
}

.storefront-confirmation-backdrop {
  opacity: 0;
  background: rgba(43, 49, 44, 0.58);
  transition: opacity 160ms ease-out;
}

.storefront-confirmation-modal.is-open .storefront-confirmation-backdrop {
  opacity: 1;
}

.storefront-confirmation-dialog {
  opacity: 0;
  transform: translate3d(0, 12px, 0) scale(0.992);
  transition:
    transform 220ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 160ms ease-out;
  backface-visibility: hidden;
}

.storefront-confirmation-modal.is-open .storefront-confirmation-dialog {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}
.storefront-confirmation-dialog {
  overscroll-behavior: contain;
}

.storefront-primary-button,
.storefront-secondary-button,
.storefront-checkout-button,
.product-showcase-card-detail,
.product-showcase-card-buy,
.product-preview-showcase-chat,
.product-preview-showcase-checkout,
.product-preview-v2-close,
.gtg-theme-toggle {
  touch-action: manipulation;
}

.storefront-theme img {
  max-width: 100%;
}

.storefront-theme h1,
.storefront-theme h2,
.storefront-theme h3,
.storefront-theme p,
.storefront-theme a,
.storefront-theme button {
  overflow-wrap: anywhere;
}

@media (max-width: 767px) {
  .storefront-confirmation-modal {
    padding-right: max(0.75rem, env(safe-area-inset-right));
    padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
    padding-left: max(0.75rem, env(safe-area-inset-left));
  }
}

.product-preview-v2-modal {
  contain: layout paint style;
}

.product-preview-v2-modal.is-waapi-ready {
  transition: none !important;
}

.product-preview-v2-modal.is-waapi-ready.is-mounted {
  visibility: visible;
  opacity: 1;
}

.product-preview-v2-modal.is-waapi-ready .product-preview-v2-dialog {
  transition: none !important;
  backface-visibility: hidden;
}

.product-preview-v2-modal.is-waapi-ready.is-opening:not(.is-open) .product-preview-v2-backdrop {
  opacity: 0;
}

@media (min-width: 768px) {
  .product-preview-v2-modal.is-waapi-ready.is-opening:not(.is-open) .product-preview-v2-dialog {
    opacity: 0;
    transform: translate3d(0, 24px, 0) scale(0.972);
  }
}

@media (max-width: 767px) {
  .product-preview-v2-modal.is-waapi-ready.is-opening:not(.is-open) .product-preview-v2-dialog {
    opacity: 1;
    transform: translate3d(0, 100%, 0);
  }
}

@media (min-width: 768px) {
  .product-preview-v2-backdrop,
  .product-preview-v2-close,
  .product-preview-showcase-category,
  .product-preview-showcase-stock,
  .product-showcase-card-category,
  .product-showcase-card-stock {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  .product-preview-v2-dialog {
    filter: none !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.9),
      0 24px 64px rgba(33, 39, 34, 0.22) !important;
  }

  .product-preview-showcase-media img {
    box-shadow:
      0 20px 44px rgba(47, 68, 49, 0.2),
      0 8px 20px rgba(49, 67, 50, 0.11) !important;
  }



  .product-preview-v2-dialog-content {
    scrollbar-gutter: stable;
  }

  .product-showcase-card {
    contain: paint;
    transform: none;
  }

  .product-showcase-card-spotlight {
    filter: none !important;
  }

  .product-showcase-card-image-wrap img,
  .product-showcase-card-media > img {
    transition-property: transform;
  }
}

@media (min-width: 768px) {
  }

@media (max-width: 767px) {
  /*
   * WAAPI tetap menjalankan keyframe yang sama. Hindari memaksa seluruh
   * dekorasi besar menjadi backing layer sekaligus pada compositor iOS.
   */
  }
