.mobile-purchase { display: none; }
@media (max-width: 767px) {
  body.has-mobile-purchase { padding-bottom: calc(var(--mobile-purchase-height, 98px) + 16px); }
  .mobile-purchase:not([hidden]) { display: flex; }
  .mobile-purchase { position: fixed; z-index: 30; left: 0; right: 0; bottom: 0; align-items: center; gap: 12px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); background: #fffdf8; border-top: 1px solid #ded7c8; box-shadow: 0 -5px 24px #1a302016; }
  .mobile-purchase__summary { display: flex; flex: 1; align-items: center; gap: 10px; min-width: 0; }
  .woocommerce .mobile-purchase__photo, .woocommerce-page .mobile-purchase__photo { width: 46px; height: 54px; flex-shrink: 0; border-radius: 5px; object-fit: contain; background: #f4f1e9; }
  .mobile-purchase__details { min-width: 0; }
  .mobile-purchase__title { margin: 0 0 2px; color: #635c51; font-size: 11px; line-height: 1.3; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  .mobile-purchase__price { color: #263c2d; font-size: 18px; font-weight: 700; line-height: 1.25; }
  .mobile-purchase__price del { font-size: 12px; opacity: .6; }
  .mobile-purchase__price ins { text-decoration: none; }
  .mobile-purchase__note { margin: 3px 0 0; color: #635c51; font-size: 10px; line-height: 1.3; }
  .mobile-purchase__button { display: flex; align-items: center; justify-content: center; gap: 14px; min-height: 48px; flex: 0 0 auto; max-width: 48%; padding: 12px 18px; border: 1px solid #173f2b; border-radius: 7px; background: #173f2b; color: #fff; font-size: 14px; font-weight: 600; line-height: 1.3; cursor: pointer; }
  .mobile-purchase__button:disabled { opacity: .55; cursor: wait; }
  .mobile-purchase__button:focus-visible { outline: 3px solid #b28a48; outline-offset: 3px; }
  .product-gallery #main-image-container { touch-action: pan-y pinch-zoom; }
  .product-gallery__frame { aspect-ratio: 1 / 1; }
  .product-gallery #main-product-image { object-fit: contain; }
  .product-gallery__thumbs { display: flex; gap: 9px; overflow-x: auto; padding: 3px 2px 8px; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: #c5c0b4 transparent; }
  .product-gallery__thumbs .thumb-btn { width: 60px; height: 68px; flex: 0 0 60px; scroll-snap-align: start; border-radius: 6px; }
  .product-gallery__thumbs .thumb-btn img { object-fit: contain; }
  .product-image-open__hint { top: 10px; right: 10px; padding: 6px 10px; font-size: 11px; }
  .product-gallery #prev-image, .product-gallery #next-image { width: 44px; height: 44px; }
  .emporium-product-page > .max-w-7xl { padding-top: 18px; }
  .product-detail-copy h1 { font-size: 26px; line-height: 1.2; }
}
@media (max-width: 360px) {
  .mobile-purchase { gap: 8px; padding-left: 12px; padding-right: 12px; }
  .mobile-purchase__photo { display: none; }
  .mobile-purchase__button { padding: 12px; font-size: 13px; }
}
