/* Locale controls remain reachable outside the collapsed mobile navigation and inside dialogs. */
.locale-picker { display: inline-flex; align-items: center; gap: 5px; pointer-events: auto; color: var(--ink); background: var(--surface, #fff); border: 1px solid var(--line, #ddd); border-radius: 10px; padding: 0 8px; min-height: 36px; font-size: 13px; }
.locale-picker svg { flex: 0 0 auto; width: 17px; height: 17px; }
.language-select { width: 94px; min-height: 34px; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; border-radius: 6px; }
.language-select:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.locale-picker--nav { position: absolute; right: 24px; top: 22px; z-index: 2; }
.category-nav .affiliates { margin-right: 148px; }
.locale-picker--dialog { position: absolute; left: 16px; top: 12px; z-index: 10; }
#details:not(.wide) { padding-top: 68px; }
#details.wide .locale-picker--dialog { position: fixed; left: 24px; top: 12px; }
html:lang(zh) body { font-family: Inter, -apple-system, BlinkMacSystemFont, "Noto Sans CJK SC", "Microsoft YaHei", sans-serif; }
html:lang(ja) body { font-family: Inter, -apple-system, BlinkMacSystemFont, "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; }
html:lang(zh) .questionnaire h2, html:lang(ja) .questionnaire h2 { letter-spacing: 0; white-space: normal; line-height: 1.45; }
html:lang(zh) .option strong, html:lang(ja) .option strong { line-height: 1.45; overflow-wrap: anywhere; }
html:lang(zh) .option small, html:lang(ja) .option small { line-height: 1.55; overflow-wrap: anywhere; }
html:lang(zh) .l-rows dt, html:lang(ja) .l-rows dt { white-space: normal; }
html:lang(zh) .l-rows dd, html:lang(ja) .l-rows dd { overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .locale-picker--nav { left: 12px; right: auto; top: 12px; }
  .category-nav .nav-menu .affiliates { margin-right: 0; }
  .locale-picker--dialog, #details.wide .locale-picker--dialog { position: absolute; left: 12px; top: 9px; min-height: 32px; font-size: 12px; }
  #details.wide .locale-picker--dialog { top: 30px; left: 38px; }
  .locale-picker--dialog .language-select { min-height: 30px; width: 88px; }
  html:lang(zh) .questionnaire h2, html:lang(ja) .questionnaire h2 { font-size: 21px; }
}
/* Chinese storefronts use the same neutral button rhythm as the original retailer panel. */
.cn-market-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cn-market-card { min-width: 0; }
.l-shops .cn-market-button { width: 100%; min-height: 62px; padding: 11px 10px; justify-content: flex-start; gap: 9px; text-decoration: none; }
.cn-market-mark { flex: 0 0 auto; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; font-size: 15px; font-weight: 700; color: #fff; }
.cn-market-mark--jd { background: #c42727; }
.cn-market-mark--taobao { background: #d85a00; }
.cn-market-copy { display: flex; flex-direction: column; gap: 3px; min-width: 0; text-align: left; }
.cn-market-copy strong { font-size: 14px; line-height: 1.3; }
.cn-market-copy small { font-size: 11px; font-weight: 400; line-height: 1.4; color: var(--muted-strong); overflow-wrap: anywhere; }
.cn-model-search { display: block; padding: 7px 4px 2px; font-size: 11px; text-align: center; text-underline-offset: 3px; }
.l-shops .cn-shop-note { margin: 8px 0 0; font-size: 10px; line-height: 1.5; color: var(--muted-strong); }
@media (max-width: 700px) {
  .l-shops.has-cn-shops { margin-top: auto; }
  .l-shops .cn-market-button { min-height: 52px; padding: 8px; gap: 6px; }
  .cn-market-copy small { font-size: 10px; }
  .l-pane:not([data-tab="shops"]) .l-shops:not(.no-tabs) .cn-model-search,
  .l-pane:not([data-tab="shops"]) .l-shops:not(.no-tabs) .cn-shop-note { display: none; }
  .l-pane[data-tab="shops"] .cn-shop-stack { margin-top: auto; }
}
/* China-market price snapshots and exact product links. */
.cn-price-row{display:flex;flex-direction:column;align-items:flex-end;gap:5px;max-width:260px}
.cn-price-meta{font-size:10px;line-height:1.5;font-weight:400;color:#737373;text-align:right;overflow-wrap:anywhere}
.cn-exact-offers{display:grid;gap:10px;width:100%}
.cn-exact-offer{min-width:0;border:1px solid #e7e5e4;border-radius:10px;padding:10px;background:#fafaf9}
.cn-exact-link,.cn-model-link{display:flex;justify-content:space-between;gap:12px;text-align:left;min-height:42px}
.cn-exact-link strong,.cn-model-link strong{font-size:13px}.cn-exact-link span,.cn-model-link span{white-space:nowrap;font-variant-numeric:tabular-nums}
.cn-offer-detail{font-size:11px;line-height:1.6;color:#737373;padding:7px 4px 0;overflow-wrap:anywhere}
.cn-offer-empty{padding:14px;border:1px dashed #d6d3d1;border-radius:10px;text-align:left}
.cn-offer-empty strong{font-size:13px;color:#57534e}.cn-offer-empty .cn-shop-note{text-align:left}
html[data-language="zh"] .l-price{font-size:11px}
@media(max-width:700px){.cn-price-row{max-width:190px}.cn-price-meta{font-size:9px}.cn-exact-link,.cn-model-link{gap:6px}.cn-exact-link strong,.cn-model-link strong{font-size:12px}}

.cn-price-coverage{font-size:10px;line-height:1.5;color:#78716c;margin:14px 0 0;text-align:center;max-width:100%;white-space:normal}
.cn-price-coverage[hidden]{display:none}

.market-result-notice{font-size:12px;line-height:1.5;padding:10px 18px;background:#fff7ed;color:#9a3412;border-radius:10px;margin:0 0 10px}

/* Evidence is available on demand; essential SKU and preorder state stay visible. */
.cn-offer-variant{font-size:10px;line-height:1.5;color:var(--muted);padding:6px 4px 0;overflow-wrap:anywhere}
.cn-offer-status{display:block;margin-top:3px;color:#92400e}.cn-preorder{font-size:10px;font-weight:400}
.cn-offer-detail summary,.cn-shop-note summary{cursor:pointer;list-style-position:inside;color:var(--muted)}
.cn-offer-detail p,.cn-shop-note p{margin:6px 0 0}.cn-offer-detail summary:focus-visible,.cn-shop-note summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.cn-offer-empty{font-size:11px;color:var(--muted);border:0;padding:4px 0}

/* Native ranges stay readable without expanding cards or purchase dialogs. */
.cn-price-row .price{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:right}
.cn-price-row .cn-preorder{display:block;line-height:1.5}
.cn-model-link span{white-space:normal;text-align:right}
