/* 分享海报弹窗：选择器全部以 .mall-product-poster 作用域隔离，不污染商品其他 dialog。
   PC 与 mobile 公共加载；无 inline style，兼容严格 CSP。 */
.mall-product-poster {
  width: 520px;
  max-width: calc(100vw - 24px);
  max-height: calc(100dvh - 40px);
  overflow: auto;
  overscroll-behavior: contain;
  padding: 0;
  border: 0;
  border-radius: 16px;
  background: #fff;
  color: #1f2329;
  font-size: 14px;
  line-height: 1.6;
  box-shadow: 0 24px 60px rgba(15, 30, 60, .25);
}
.mall-product-poster * { box-sizing: border-box; }
.mall-product-poster::backdrop { background: rgba(12, 20, 30, .55); }
.mall-product-poster .mpp-head {
  display: flex; align-items: flex-start; gap: 16px;
  padding: 20px 22px 12px;
}
.mall-product-poster .mpp-head-text { min-width: 0; }
.mall-product-poster .mpp-title { margin: 0; font-size: 17px; font-weight: 700; letter-spacing: .5px; }
.mall-product-poster .mpp-sub { margin: 3px 0 0; color: #8f959e; font-size: 12.5px; }
.mall-product-poster .mpp-x {
  display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; margin-left: auto;
  padding: 0; border: 0; border-radius: 8px; background: transparent; color: #8f959e; cursor: pointer;
}
.mall-product-poster .mpp-x:hover { background: #f2f4f8; color: #1f2329; }
.mall-product-poster .mpp-icon { display: inline-flex; flex: none; }
.mall-product-poster .mpp-tip {
  display: flex; align-items: flex-start; gap: 7px;
  margin: 0 22px 14px; padding: 10px 12px; border-radius: 10px;
  background: #f0f7ff; color: #4d617b; font-size: 12.5px; line-height: 1.7;
}
.mall-product-poster .mpp-tip .mpp-icon { margin-top: 2px; }
.mall-product-poster .mpp-preview-box {
  margin: 0 22px;
  border-radius: 12px;
}
.mall-product-poster .mpp-preview-box:has(.mpp-preview:not([hidden])) {
  max-height: min(52dvh, 560px);
  overflow: auto;
  padding: 12px;
  background: #f2f4f8;
  border: 1px solid #eaeef5;
}
.mall-product-poster .mpp-preview {
  display: block; width: 100%; height: auto; margin: 0 auto;
  border-radius: 8px; background: #fff;
  box-shadow: 0 4px 16px rgba(15, 30, 60, .10);
}
.mall-product-poster .mpp-status { margin: 12px 22px 0; color: #646a73; font-size: 13px; }
.mall-product-poster .mpp-status:empty { display: none; }
.mall-product-poster .mpp-link-row {
  display: flex; align-items: center; gap: 10px;
  margin: 12px 22px 0;
}
.mall-product-poster .mpp-link {
  flex: 1 1 auto; min-width: 0; height: 38px; padding: 0 12px;
  border: 1px solid #dde3ec; border-radius: 8px; background: #f8fafc;
  color: #4d617b; font: inherit; font-size: 12.5px;
}
.mall-product-poster .mpp-copy {
  flex: 0 0 auto; height: 38px; padding: 0 16px;
  border: 1px solid #2f7fe5; border-radius: 8px; background: #fff;
  color: #2f7fe5; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer;
}
.mall-product-poster .mpp-copy:hover:not(:disabled) { background: #f0f7ff; }
.mall-product-poster .mpp-retry {
  display: block; margin: 12px auto 0; padding: 7px 22px;
  border: 1px solid #dde3ec; border-radius: 8px; background: #fff;
  color: #4d617b; font: inherit; font-size: 13px; cursor: pointer;
}
.mall-product-poster .mpp-retry:hover { border-color: #2f7fe5; color: #2f7fe5; }
.mall-product-poster .mpp-foot {
  display: flex; justify-content: center; gap: 14px;
  padding: 18px 22px 20px;
}
.mall-product-poster .mpp-save {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  min-width: 150px; min-height: 42px; padding: 0 24px;
  border: 0; border-radius: 10px;
  background: linear-gradient(135deg, #1e9df2, #2b5ce6); color: #fff;
  font: inherit; font-size: 14px; font-weight: 600; cursor: pointer;
  box-shadow: 0 8px 18px rgba(43, 92, 230, .3);
}
.mall-product-poster .mpp-save:hover:not(:disabled) { filter: brightness(1.06); }
.mall-product-poster .mpp-close {
  min-width: 96px; min-height: 42px; padding: 0 22px;
  border: 1px solid #dde3ec; border-radius: 10px; background: #fff;
  color: #4d617b; font: inherit; font-size: 14px; cursor: pointer;
}
.mall-product-poster .mpp-close:hover { border-color: #b6c2d2; color: #1f2329; }
.mall-product-poster button:disabled { opacity: .55; cursor: default; box-shadow: none; }
.mall-product-poster :is(button, input):focus-visible { outline: 2px solid #2f7fe5; outline-offset: 2px; }
.mall-product-poster [hidden] { display: none !important; }
@media (max-width: 560px) {
  .mall-product-poster { width: calc(100vw - 24px); }
  .mall-product-poster .mpp-foot { flex-wrap: wrap; }
  .mall-product-poster :is(.mpp-copy,.mpp-close,.mpp-save,.mpp-link) { min-height:44px; }
  .mall-product-poster .mpp-x { width:44px; height:44px; flex-basis:44px; }
  .mall-product-poster .mpp-link-row { flex-wrap:wrap; }
  .mall-product-poster .mpp-link { flex-basis:100%; }
}
@media (prefers-reduced-motion: reduce) {
  .mall-product-poster .mpp-save, .mall-product-poster .mpp-copy, .mall-product-poster .mpp-x { transition: none; }
}
