.price-list-dialog {
  box-sizing: border-box;
  width: min(1100px, 94vw);
  height: 92vh;
  height: 92dvh;
  max-width: none;
  max-height: none;
  margin: auto;
  padding: 0;
  border: 1px solid #d8e5ee;
  border-radius: 24px;
  background: #f2f6f9;
  color: #09324c;
  font: 16px/1.5 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', sans-serif;
  box-shadow: 0 24px 80px #09324c4d;
  overflow: hidden;
}
.price-list-dialog[open] { display: flex; flex-direction: column; }
.price-list-dialog::backdrop { background: #041a2bba; }
.price-list-dialog * { box-sizing: border-box; }
.price-list-header { flex: none; padding: 8px 16px; background: #fff; border-bottom: 1px solid #d8e5ee; }
.price-list-title-row { display: flex; align-items: center; gap: 8px; }
.price-list-title-row { justify-content: space-between; }
.price-list-dialog .price-list-title { margin: 0; font-size: 22px; line-height: 1.4; font-weight: 600; }
.price-list-dialog button {
  min-width: 44px;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid #c3d5e2;
  border-radius: 12px;
  background: #fff;
  color: #09324c;
  font: inherit;
  cursor: pointer;
  touch-action: manipulation;
}
.price-list-dialog button:hover { background: #e7f1f8; }
.price-list-dialog button:focus-visible, .price-list-viewport:focus-visible { outline: 3px solid #e8865b; outline-offset: -3px; }
.price-list-dialog .price-list-close { border: 0; font-size: 24px; line-height: 1; }
.price-list-viewport {
  flex: 1;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  touch-action: pan-x pan-y;
  -webkit-overflow-scrolling: touch;
}
.price-list-viewport[data-zoomed] { cursor: grab; }
.price-list-viewport[data-dragging] { cursor: grabbing; }
.price-list-surface { position: relative; }
.price-list-footer { position: sticky; left: 0; width: 100%; padding: 16px; display: flex; justify-content: center; }
.price-list-dialog .price-list-back { width: min(100%, 240px); background: #09324c; color: #fff; }
.price-list-dialog .price-list-back:hover { background: #164a68; }
.price-list-pages { position: absolute; transform-origin: top left; }
.price-list-sheet { margin: 0 0 20px; }
.price-list-sheet:last-child { margin-bottom: 0; }
.price-list-image-wrap { position: relative; background: #193c50; }
.price-list-dialog .price-list-image { display: block; width: 100%; height: auto; margin: 0; border-radius: 0; user-select: none; -webkit-user-drag: none; }
.price-list-status { position: absolute; top: 20px; left: 16px; right: 16px; color: #fff; text-align: center; }
.price-list-status[hidden] { display: none; }
.price-list-image-wrap[data-failed] .price-list-image { visibility: hidden; }
.price-list-status a { color: #fff; text-decoration: underline; }
@media (max-width: 759px) {
  .price-list-dialog { width: 100%; height: 100%; height: 100dvh; border: 0; border-radius: 0; }
  .price-list-header { padding: max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 8px max(12px, env(safe-area-inset-left)); }
  .price-list-dialog .price-list-title { font-size: 19px; }
  .price-list-viewport { padding-bottom: env(safe-area-inset-bottom); }
  .hero-actions.has-price-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-actions.has-price-list .button { padding-inline: 10px; }
}
