/* Mobile purchase access, 2026-09-24. Keep brand designs and all product copy. */
@media (max-width: 767px) {
  main:is(.vd-page,.pd-page,.on-page,.sf-page) :is(.vd-hero,.pd-hero,.on-hero) {
    min-height: 0;
  }
  main:is(.vd-page,.pd-page,.on-page,.sf-page) :is(.vd-hero-inner,.pd-hero-inner,.on-hero-inner,.sf-hero) {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-height: 0;
    padding: 20px 22px 44px;
  }
  main:is(.vd-page,.pd-page,.on-page,.sf-page) :is(.vd-product,.pd-visual,.on-product,.sf-photo) {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    height: clamp(210px, 33svh, 280px);
    width: 100%;
    margin: 0 auto;
    transform: none !important;
    will-change: auto;
  }
  main:is(.vd-page,.pd-page,.on-page,.sf-page) :is(.vd-product,.pd-visual,.on-product,.sf-photo) > img {
    display: block;
    width: auto;
    height: 100%;
    max-width: 100%;
    object-fit: contain;
    transform: none !important;
    will-change: auto;
  }
  main.sf-page .sf-buy { margin: 0; }
  /* The Matcha reflection follows the compact pack rather than its full-width wrapper. */
  main.sf-page .sf-photo { width: fit-content; max-width: 100%; }
  main:is(.vd-page,.pd-page,.on-page,.sf-page) :is(.vd-copy,.pd-copy,.on-copy,.sf-copy) {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 650px;
    opacity: 1 !important;
    transform: none !important;
    will-change: auto;
  }
  main:is(.vd-page,.pd-page,.on-page,.sf-page) :is(.vd-brand,.pd-brand,.on-brand,.sf-copy > .sf-kicker) {
    margin-bottom: 9px;
  }
  main:is(.vd-page,.pd-page,.on-page,.sf-page) :is(.vd-copy,.pd-copy,.on-copy,.sf-copy) h1 {
    font-size: clamp(29px, 8vw, 36px);
    line-height: 1.08;
    margin-bottom: 16px;
  }
  main:is(.vd-page,.pd-page,.on-page,.sf-page) :is(.vd-specs,.pd-specs,.on-specs,.sf-specs) {
    order: 1;
    margin: 0 0 18px;
  }
  main:is(.vd-page,.pd-page,.on-page,.sf-page) :is(.vd-spec,.pd-spec,.on-spec,.sf-specs > div) {
    padding: 10px 0;
  }
  main:is(.vd-page,.pd-page,.on-page,.sf-page) :is(.vd-actions,.pd-actions,.on-actions,.sf-buy,.on-copy > .hgl-store-price,.sf-copy > .hgl-store-price) {
    order: 2;
    width: 100%;
    max-width: none;
  }
  main:is(.vd-page,.pd-page,.on-page,.sf-page) :is(.vd-description,.pd-description,.on-description,.sf-intro) {
    order: 3;
    display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
    font-size: 15px;
    line-height: 1.6;
    margin: 22px 0 0;
  }
  main:is(.vd-page,.pd-page,.on-page,.sf-page) :is(.vd-actions,.pd-actions,.on-actions,.sf-buy) button {
    min-height: 48px;
  }
}

.hg-photo-zoom-hint { display: none; }
@media (max-width: 767px) {
  main:is(.vd-page,.pd-page,.on-page,.sf-page) .hg-photo-zoom {
    position: relative;
    transition: height .22s ease;
  }
  main:is(.vd-page,.pd-page,.on-page,.sf-page) .hg-photo-zoom.hg-photo-expanded {
    height: min(62svh, 520px);
  }
  .hg-photo-zoom > img { cursor: zoom-in; touch-action: manipulation; }
  .hg-photo-expanded > img { cursor: zoom-out; }
  .hg-photo-zoom > img:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
  .hg-photo-zoom .hg-photo-zoom-hint {
    display: block;
    position: absolute;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    font: 11px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #6e6e73;
    pointer-events: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  main:is(.vd-page,.pd-page,.on-page,.sf-page) .hg-photo-zoom { transition: none; }
}
