/* Product centre: scoped styles, shared by the English and Chinese catalogue. */
.catalogue-page { background:#fff; padding:0 0 64px; }
.catalogue-wrap { max-width:1360px; }
.catalogue-banner { position:relative; overflow:hidden; margin-bottom:24px; background:#101821; }
.catalogue-banner-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 46%; }
.catalogue-banner-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,19,32,.68),rgba(7,19,32,.46)); }
.catalogue-banner .catalogue-wrap { position:relative; min-height:340px; display:flex; flex-direction:column; justify-content:center; padding-top:36px; padding-bottom:36px; }
.catalogue-crumb { margin:0 0 24px; font-size:12px; }
.catalogue-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:25px; }
.catalogue-intro h1 { margin:0 0 9px; font-size:32px; font-weight:680; letter-spacing:-.035em; line-height:1.25; }
.catalogue-intro p { margin:0; color:var(--ink-muted); font-size:14px; line-height:1.6; }
.catalogue-quick { display:flex; gap:9px; align-items:center; flex-wrap:wrap; padding:0 0 24px; border-bottom:1px solid var(--line); margin-bottom:24px; }
.catalogue-quick > span { color:var(--ink-muted); font-size:12px; margin-right:9px; }
.catalogue-quick button { min-width:66px; padding:8px 18px; background:#fff; border:1px solid var(--line); border-radius:4px; font-size:13px; cursor:pointer; transition:background .15s,border-color .15s; }
.catalogue-quick button:hover { border-color:var(--accent); color:var(--accent); }
.catalogue-quick button[aria-pressed="true"] { background:var(--accent); border-color:var(--accent); color:white; }
.catalogue-banner .catalogue-crumb, .catalogue-banner .catalogue-crumb a { color:rgba(255,255,255,.8); }
.catalogue-banner .catalogue-crumb .sep { color:rgba(255,255,255,.5); }
.catalogue-banner .catalogue-intro h1 { color:#fff; }
.catalogue-banner .catalogue-intro p { color:rgba(255,255,255,.85); }
.catalogue-banner .catalogue-quick { margin-bottom:0; padding-bottom:0; border-bottom:0; }
.catalogue-banner .catalogue-quick > span { color:rgba(255,255,255,.8); }
.catalogue-banner .catalogue-quick button { color:#fff; background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.45); }
.catalogue-banner .catalogue-quick button:hover { background:rgba(255,255,255,.2); border-color:#fff; }
.catalogue-banner .catalogue-quick button[aria-pressed="true"] { background:#fff; border-color:#fff; color:var(--accent); }
.catalogue-layout { display:grid; grid-template-columns:218px minmax(0,1fr); gap:30px; align-items:start; }
.catalogue-sidebar { min-width:0; }
.catalogue-sidebar summary { display:none; }
.catalogue-sidebar-body { padding-right:20px; border-right:1px solid var(--line-faint); }
.catalogue-sidebar h2 { margin:0 0 14px; font-size:14px; font-weight:650; }
.catalogue-series-list { display:flex; flex-direction:column; gap:3px; }
.catalogue-series { display:flex; justify-content:space-between; align-items:center; gap:8px; width:100%; padding:9px 11px; border:0; background:transparent; text-align:left; font-size:13px; border-radius:4px; cursor:pointer; }
.catalogue-series:hover { background:var(--surface-alt); color:var(--accent); }
.catalogue-series[aria-pressed="true"] { background:var(--accent-soft); color:var(--accent); font-weight:650; }
.catalogue-series:disabled { opacity:.4; cursor:default; }
.catalogue-series-count { color:var(--ink-faint); font-size:11px; font-weight:400; }
.catalogue-sidebar-fields { border-top:1px solid var(--line-faint); margin-top:20px; padding-top:20px; }
.catalogue-filter-field { margin-bottom:17px; }
.catalogue-filter-field label { display:block; margin-bottom:7px; font-size:12px; color:var(--ink-muted); }
.catalogue-filter-field .select { width:100%; font-size:12px; padding:9px 28px 9px 10px; border-radius:4px; }
.catalogue-features-title { margin-top:24px!important; }
.catalogue-features { gap:7px; }
.catalogue-features .chip { padding:6px 9px; font-size:11px; border-radius:4px; }
.catalogue-results { min-width:0; }
.catalogue-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.catalogue-search { position:relative; flex:1; max-width:510px; }
.catalogue-search svg { position:absolute; width:18px; height:18px; left:14px; top:13px; stroke:var(--ink-muted); fill:none; stroke-width:1.6; pointer-events:none; }
.catalogue-search .input { width:100%; padding:11px 14px 11px 41px; font-size:13px; border-radius:4px; background:var(--surface-alt); }
.catalogue-result-line { display:flex; align-items:center; justify-content:space-between; margin:17px 0; min-height:20px; }
.catalogue-result-line p { margin:0; color:var(--ink-muted); font-size:12px; }
.catalogue-reset { border:0; padding:3px 0; background:none; color:var(--ink-muted); font-size:12px; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.catalogue-reset:hover { color:var(--accent); }
.catalogue-active { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 16px; }
.catalogue-active[hidden] { display:none; }
.catalogue-active button { border:1px solid var(--accent-line); padding:5px 9px; border-radius:4px; background:var(--accent-soft); color:var(--accent); font-size:12px; cursor:pointer; }
.catalogue-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.catalogue-card { display:flex; flex-direction:column; min-width:0; background:#fff; border:1px solid var(--line-faint); border-radius:6px; overflow:hidden; transition:box-shadow .18s,border-color .18s; }
.catalogue-card:hover { border-color:var(--accent-line); box-shadow:0 6px 20px rgba(16,41,64,.07); }
.catalogue-photo { display:flex; justify-content:center; align-items:center; aspect-ratio:1.35; padding:17px; background:#fff; border-bottom:1px solid #f3f5f7; }
.catalogue-photo img { display:block; width:100%; height:100%; max-height:170px; object-fit:contain; }
.catalogue-card-body { display:flex; flex-direction:column; flex:1; padding:15px; }
.catalogue-card-top { display:flex; align-items:center; justify-content:space-between; gap:6px; margin-bottom:10px; }
.catalogue-form { padding:3px 5px; border:1px solid var(--line); border-radius:3px; font-size:10px; color:var(--ink-muted); white-space:nowrap; }
.catalogue-sku { font-family:var(--mono); font-size:10px; color:var(--ink-muted); white-space:nowrap; }
.catalogue-name { margin:0 0 9px; font-size:13px; font-weight:600; line-height:1.6; min-height:42px; }
.catalogue-name a { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.catalogue-name a:hover { color:var(--accent); }
.catalogue-summary { margin:0; color:var(--ink-muted); font-size:11px; line-height:1.6; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.catalogue-more { margin-top:28px; }
.catalogue-more p { color:var(--ink-muted); font-size:12px; margin-top:9px; }
.catalogue-empty { grid-column:1/-1; padding:64px 20px; background:var(--surface-alt); border:1px solid var(--line); border-radius:6px; text-align:center; }
.catalogue-empty p { font-size:14px; margin-bottom:18px; }
.catalogue-assist { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:24px; background:var(--surface-alt); border:1px solid var(--line-faint); border-radius:6px; margin-top:36px; }
.catalogue-assist strong { font-size:15px; }
.catalogue-assist p { margin:7px 0 0; color:var(--ink-muted); font-size:12px; line-height:1.6; }
.catalogue-assist .btn { font-size:12px; white-space:nowrap; }
.catalogue-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:1200px) { .catalogue-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .catalogue-layout { gap:22px; grid-template-columns:195px minmax(0,1fr); } }
@media(max-width:900px) {
  .catalogue-layout { display:block; }
  .catalogue-sidebar { border:1px solid var(--line); border-radius:5px; margin-bottom:18px; }
  .catalogue-sidebar summary { display:flex; justify-content:space-between; padding:13px 15px; font-size:13px; font-weight:600; cursor:pointer; list-style:none; }
  .catalogue-sidebar summary::-webkit-details-marker { display:none; }
  .catalogue-sidebar-body { border:0; border-top:1px solid var(--line-faint); padding:17px; }
  .catalogue-series-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
  .catalogue-sidebar-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .catalogue-search { max-width:none; }
}
@media(max-width:600px) {
  .catalogue-banner .catalogue-wrap { min-height:280px; padding-top:26px; padding-bottom:26px; }
  .catalogue-banner-photo { object-position:58% center; }
  .catalogue-wrap { padding:0 16px; }
  .catalogue-crumb { margin-bottom:20px; font-size:11px; }
  .catalogue-intro { margin-bottom:22px; }
  .catalogue-intro h1 { font-size:27px; }
  .catalogue-intro p { font-size:12px; }
  .catalogue-quick { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; padding-bottom:18px; margin-bottom:18px; }
  .catalogue-quick > span { grid-column:1/-1; margin-bottom:6px; }
  .catalogue-quick button { min-width:0; padding:10px 3px; font-size:11px; }
  .catalogue-toolbar { flex-wrap:wrap; gap:12px; }
  .catalogue-search { flex-basis:100%; }
  .catalogue-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .catalogue-photo { padding:10px; aspect-ratio:1.2; }
  .catalogue-card-body { padding:11px; }
  .catalogue-card-top { flex-wrap:wrap; gap:5px; }
  .catalogue-sku { font-size:10px; }
  .catalogue-name { font-size:12px; min-height:39px; }
  .catalogue-summary { font-size:10px; }
  .catalogue-sidebar-fields { grid-template-columns:1fr; }
  .catalogue-series-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalogue-assist { align-items:flex-start; flex-direction:column; padding:19px; }
}
