/* Official listing-price page. Uses the site's colour tokens; nothing here changes the shared stylesheet. */
.lead-notice { border: 1px solid var(--warn); border-left-width: 4px; background: var(--surface); padding: var(--s3, 14px) var(--s4, 18px); margin: var(--s4, 20px) 0; }
.lead-notice strong { color: var(--warn); }
.lead-notice p { margin: 6px 0 0; font-size: 15px; }
.lead-tools { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: end; margin: var(--s4, 20px) 0 var(--s2, 8px); }
.lead-tools label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; letter-spacing: .08em; color: var(--muted); }
.lead-tools input[type="search"], .lead-tools select { font: inherit; font-size: 15px; color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid var(--control); padding: 6px 2px; min-width: 200px; border-radius: 0; }
.lead-tools input:focus-visible, .lead-tools select:focus-visible { outline: 2px solid var(--gold-text); outline-offset: 2px; }
.lead-tools .lead-check { flex-direction: row; align-items: center; gap: 8px; font-size: 14px; color: var(--ink); letter-spacing: 0; }
.lead-status { font-size: 13px; color: var(--muted); margin: 0 0 var(--s2, 8px); }
.lead-table { min-width: 760px; }
.lead-table th, .lead-table td { padding-right: 14px; }
.lead-table thead th { position: sticky; top: 0; background: var(--bg); }
.lead-code { font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 12px; color: var(--muted); white-space: nowrap; }
.lead-price { white-space: nowrap; }
.lead-amount { display: block; font-variant-numeric: tabular-nums; }
.lead-stock { display: block; font-size: 12px; color: var(--muted); }
.lead-stock-instock { color: var(--ok); }
.lead-stock-outofstock, .lead-stock-nonEcom { color: var(--bad); }
.lead-stock-preorder, .lead-stock-notifyMe, .lead-stock-comingSoon { color: var(--warn); }
.lead-none { color: var(--muted); }
.lead-empty { text-align: center; color: var(--muted); padding: 24px 0; }
.lead-scroll { max-height: 75vh; overflow: auto; }

.lead-img-col { width: 84px; }
.lead-img { width: 84px; padding-right: 12px; }
.lead-photo { display: block; width: 72px; height: 72px; object-fit: contain; background: var(--plinth); }
.lead-photo-failed { display: none; }

/* Original bag list: one card per bag. Each size is a folded section; its colours are compact rows with stock, compare and a request link. */
.index > li.bag-group { gap: 0; }
.index > li.bag-group > a { flex: 0 0 auto; }
.bag-sizes { margin-top: var(--s3, 12px); border-top: 1px solid var(--hairline); }
.bag-size { border-bottom: 1px solid var(--hairline); }
.bag-size summary { cursor: pointer; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 8px; padding: 8px 0; font-size: 13px; list-style: none; }
.bag-size summary::-webkit-details-marker { display: none; }
.bag-size summary::before { content: '+'; width: 12px; color: var(--gold-text); }
.bag-size[open] summary::before { content: '−'; }
.bag-size summary:focus-visible { outline: 2px solid var(--gold-text); outline-offset: 2px; }
.bag-size-name { flex: 1 1 auto; color: var(--ink); font-weight: 500; }
.bag-size-price { color: var(--ink); font-variant-numeric: tabular-nums; }
.bag-size-meta { flex-basis: 100%; padding-left: 20px; font-size: 11px; color: var(--muted); }
.bag-size ul { list-style: none; margin: 0 0 8px; padding: 0; max-height: 300px; overflow: auto; }
.bag-variant { display: flex; align-items: center; gap: 6px; padding: 2px 0 2px 20px; border-top: 1px solid var(--hairline); font-size: 13px; }
.index .bag-variant > a:first-child { display: flex; flex-direction: row; flex: 1 1 auto; flex-wrap: wrap; align-items: baseline; gap: 0 6px; min-width: 0; text-decoration: none; color: var(--ink); }
.bag-variant-name { flex: 0 1 auto; overflow-wrap: anywhere; }
.bag-variant-price { font-variant-numeric: tabular-nums; }
.bag-variant-stock { font-size: 11px; color: var(--muted); }
.bag-variant-stock.stock-instock { color: var(--ok); }
.bag-variant-stock.stock-outofstock, .bag-variant-stock.stock-nonEcom { color: var(--bad); }
.bag-variant-stock.stock-preorder, .bag-variant-stock.stock-notifyMe, .bag-variant-stock.stock-comingSoon { color: var(--warn); }
.bag-variant-tag { flex-basis: 100%; font-size: 11px; color: var(--warn); }
.index .bag-variant .compare-check { padding: 0; min-height: 32px; font-size: 11px; white-space: nowrap; } /* 32px: above the 24px minimum target, keeps rows to one line */
.index .bag-variant-check { display: inline-flex; align-items: center; min-height: 28px; flex: 0 0 auto; font-size: 11px; color: var(--gold-text); border: 1px solid var(--control); padding: 2px 6px; text-decoration: none; white-space: nowrap; }
.bag-variant-check:hover { border-color: var(--gold-text); }
.bag-variant-check:focus-visible { outline: 2px solid var(--gold-text); outline-offset: 2px; }

/* Bag page: size and colour chooser for the same bag. */
.variant-panel { margin: var(--s4, 20px) 0; border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); padding: 8px 0; }
.variant-row { display: grid; grid-template-columns: minmax(110px, 160px) 1fr; gap: 4px 16px; padding: 6px 0; align-items: start; }
.variant-label { margin: 6px 0 0; font-size: 12px; letter-spacing: .06em; color: var(--muted); }
.variant-row ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; max-height: 220px; overflow: auto; }
.variant-chip { display: inline-flex; flex-direction: column; justify-content: center; min-height: 32px; font-size: 12px; line-height: 1.3; padding: 4px 10px; border: 1px solid var(--control); text-decoration: none; color: var(--ink); }
.variant-chip small { font-size: 10px; color: var(--muted); font-variant-numeric: tabular-nums; }
.variant-chip.variant-out { color: var(--muted); border-style: dashed; }
.variant-chip[aria-current] { border-color: var(--gold-text); box-shadow: inset 0 0 0 1px var(--gold-text); }
.variant-chip:hover { border-color: var(--gold-text); }
.variant-chip:focus-visible { outline: 2px solid var(--gold-text); outline-offset: 2px; }
@media (max-width: 560px) { .variant-row { grid-template-columns: 1fr; } }

/* 最省 sort: where and how much a card saves; the per-city line above the list */
.saving-note { margin: var(--s2) 0 0; font-size: 13px; color: var(--ok); font-variant-numeric: tabular-nums; }
.saving-note span { display: block; margin-top: 2px; font-size: 12px; color: var(--warn); }
.saving-note.gap-checked span { color: var(--muted); }
.city-saving { margin: var(--s2) 0 0; font-size: 13px; color: var(--ink); }
.city-saving span { display: block; font-size: 12px; color: var(--muted); }
.browse-status .sort-pick { display: inline-flex; align-items: center; gap: 8px; }

/* one-off stock look across country storefronts (bag page of a lead item) */
.stock-look { margin: var(--s4, 24px) 0; padding: var(--s3, 16px); border: 1px solid var(--hairline); border-radius: var(--radius, 4px); }
.stock-look h2 { margin: 0 0 var(--s2, 8px); font-size: 1.05rem; }
.stock-look p { margin: var(--s2, 8px) 0; }
.stock-look-lead { color: var(--warn); }
.stock-look details { margin: var(--s2, 8px) 0; }
.stock-look summary { cursor: pointer; min-height: 32px; display: flex; align-items: center; }
.stock-look table { width: 100%; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }
.stock-look th, .stock-look td { padding: 6px 8px; text-align: left; border-top: 1px solid var(--hairline); }
.stock-look thead th { color: var(--muted); font-weight: 500; }
.stock-look-tag { margin-left: 8px; padding: 0 6px; border: 1px solid var(--gold-text); color: var(--gold-text); font-size: 11px; }
