/* Preserve original proportions; only the active language determines text size. */
html body .language-menu[popover], html body .language-menu[data-floating] { position: fixed; inset: auto; margin: 0; max-height: calc(100dvh - 16px); overflow-y: auto; }
html { --locale-heading-scale: 1; --locale-leading: 1.25; }
html:lang(en), html:lang(vi) { --locale-heading-scale: .82; --locale-leading: 1.25; }
html:lang(lo), html:lang(th) { --locale-heading-scale: .8; --locale-leading: 1.45; }
html body .st-home-hero-title { font-size: calc(clamp(34px, 4vw, 55px) * var(--locale-heading-scale)); line-height: var(--locale-leading); }
html:lang(en) body .st-home-hero-title { font-size: 28px; }
html:lang(vi) body .st-home-hero-title { font-size: 30px; }
html:lang(lo) body .st-home-hero-title { font-size: 32px; }
html:lang(th) body .st-home-hero-title { font-size: 34px; }
html body .st-chapter-heading { min-height: 69px; }
html:not(:lang(zh)) body .st-home-hero-title, html:not(:lang(zh)) body .st-chapter-title, html:not(:lang(zh)) body .st-section-head h2, html:not(:lang(zh)) body .st-retail-copy h3 { letter-spacing: normal; }
html:not(:lang(zh)) body .st-chapter-title { font-size: calc(clamp(25px, 2.8vw, 34px) * var(--locale-heading-scale)); line-height: var(--locale-leading); }
html:not(:lang(zh)) body .st-section-head h2 { font-size: calc(30px * var(--locale-heading-scale)); line-height: var(--locale-leading); }
html:not(:lang(zh)) body .st-retail-copy h3 { font-size: calc(28px * var(--locale-heading-scale)); line-height: var(--locale-leading); }
html body .st-home-hero-actions .button, html body .st-retail-copy .st-home-secondary { white-space: normal; line-height: 1.45; }
html body .st-home-hero-actions { flex-wrap: nowrap; gap: 8px; }
html body .st-home-hero-actions .button { flex: 0 1 65%; min-width: 0; padding: 5px 12px; gap: 8px; height: 48px; font-size: 11px; }
html body .st-home-hero-actions .button span { min-width: 0; }
html body .st-home-hero-actions .button i { flex-shrink: 0; width: 28px; height: 32px; }
html body .st-home-hero-actions .st-home-secondary { flex: 1; min-width: 0; font-size: 10px; white-space: normal; }
html:lang(zh) body .st-home-hero-actions .button { font-size: 13px; padding: 5px 16px; gap: 12px; }
html:lang(zh) body .st-home-hero-actions .st-home-secondary { font-size: 11px; white-space: nowrap; }
html body .st-chapter-heading > div, html body .st-section-head > div { min-width: 0; }
html body .st-category-copy strong { line-height: 1.5; letter-spacing: normal; }
html:lang(lo) body .st-category-copy strong, html:lang(th) body .st-category-copy strong { font-size: 12px; }
html body .st-product-text { display: block; overflow-wrap: anywhere; }
html body .st-product-text-reserve { display: none; }
html body .goods-section .goods-copy h3, html body .goods-section .goods-copy p { line-height: 1.5; }
html body .goods-section .goods-copy h3 { white-space: normal; height: auto; min-height: 0; overflow: visible; text-overflow: clip; }
html body .search-suggest .suggest-name, html body .search-suggest .suggest-spec { white-space: normal; line-height: 1.5; }
html body .commerce-dialog .detail-content h2 { line-height: 1.45; letter-spacing: normal; }
html:not(:lang(zh)) body .commerce-dialog .detail-content h2 { font-size: 24px; }
html body .commerce-dialog .detail-spec { line-height: 1.65; }
/* Detail hierarchy: identity and pricing first, purchasing controls next, references last. */
html body .commerce-dialog.page-detail .detail-content { display: flex; flex-direction: column; align-items: stretch; gap: 0; min-height: 0; height: auto; }
html body .commerce-dialog.page-detail .detail-content > .eyebrow { order: 0; margin: 0 0 5px; }
html body .commerce-dialog.page-detail .detail-content > h2 { order: 1; margin: 0 0 5px; }
html body .commerce-dialog.page-detail .detail-content > .detail-spec { order: 2; margin: 0; }
html body .commerce-dialog.page-detail .detail-content > .price-tiers { order: 5; margin: 12px 0 0; }
html body .commerce-dialog.page-detail .detail-content > .unit-line { order: 3; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; }
html body .commerce-dialog.page-detail .unit-line .unit-label { margin: 0; }
html body .commerce-dialog.page-detail .unit-line .unit-picker { flex: 1; min-width: 0; }
html body .commerce-dialog.page-detail .detail-content > .detail-status-row { order: 4; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px; margin: 8px 0 0; min-width: 0; }
html body .commerce-dialog.page-detail .detail-status-row > .stock-line { margin: 0; min-width: 0; }
html body .commerce-dialog.page-detail .detail-status-row > .detail-sku { grid-column: 2; margin: 0; font-size: 10px; line-height: 1.5; white-space: nowrap; text-align: right; }
html body .commerce-dialog.page-detail .detail-content > .detail-note { order: 7; margin: 8px 0 0; }
html body .commerce-dialog.page-detail .detail-content > .detail-specification { order: 8; }
html body .commerce-dialog.page-detail .detail-content > .contact-block { order: 9; }
html body .commerce-dialog.page-detail .detail-content > .detail-footer { order: 10; }
html body .commerce-dialog.page-detail .price-tiers { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
html body .commerce-dialog.page-detail .price-tier { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; min-height: 76px; padding: 8px 6px; }
html body .commerce-dialog.page-detail .price-tier > span { font-size: 11px; line-height: 1.35; }
html body .commerce-dialog.page-detail .price-tier > strong { margin: 5px 0 0; font-size: 16px; line-height: 1.25; letter-spacing: -.35px; text-align: left; }
html body .commerce-dialog.page-detail .price-tier > small { font-size: 10px; line-height: 1.35; text-align: left; }
html body .commerce-dialog.page-detail .price-tier > small [data-product-field="unit"] { display: inline; font: inherit; color: inherit; }
html body .commerce-dialog.page-detail .price-tier > .price-minimum { margin-top: 4px; font-size: 10px; line-height: 1.35; font-weight: 600; color: var(--concept-muted); overflow-wrap: anywhere; text-align: left; }
html body .commerce-dialog.page-detail .price-tier.hidden > strong { font-size: 10px; line-height: 1.5; white-space: normal; }
html body .commerce-dialog.page-detail .dialog-head { display: flex; align-items: center; gap: 8px; }
html body .commerce-dialog.page-detail .dialog-head > .round-control { flex: none; }
html body .commerce-dialog.page-detail .dialog-head > #st-dialog-title { flex: 1; min-width: 0; margin: 0; text-align: left; }
html body .commerce-dialog.page-detail .dialog-head > .dialog-head-actions { position: static; width: auto; margin-left: auto; flex: none; }
@media (max-width:720px) { html body .commerce-dialog.page-detail .detail-content { padding: 12px 14px 16px; } }
html body .commerce-dialog .price-tier span, html body .commerce-dialog .price-tier small, html body .commerce-dialog .detail-footer .button { white-space: normal; line-height: 1.5; }
html:not(:lang(zh)) body .account-cover h2, html:not(:lang(zh)) body .history-heading h2, html:not(:lang(zh)) body .checkout-intro h2 { font-size: 28px; line-height: var(--locale-leading); letter-spacing: normal; }
 html body .account-links strong, html body .checkout-steps li, html body .delivery-choices strong, html body .delivery-choices small, html body .checkout-actions button { white-space: normal; line-height: 1.5; }
html body .commerce-dialog .auth-subtitle { min-height: 36px; font-size: 11px; line-height: 18px; }
html body .commerce-dialog .auth-form h3 { min-height: 28px; line-height: 28px; }
html:not(:lang(zh)) body .commerce-dialog .auth-form h3 { font-size: 17px; letter-spacing: normal; }
@media (min-width: 721px) { html body .auth-layout { min-height: 490px; } }
html body .commerce-dialog .checkout-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
html body .commerce-dialog .checkout-actions > button { width: 100%; min-height: 44px; }
html body .commerce-dialog .delivery-choices label { display: flex; }
html body .commerce-dialog .delivery-choices label > span { flex: 1; }
html body .commerce-dialog.page-inquiry .product-card.card-paired { block-size: auto; min-height: var(--inquiry-card-media-size); }
html body .commerce-dialog.page-inquiry .product-card.card-paired .product-heading h2 { min-width: 0; line-height: 1.5; letter-spacing: normal; }
html body .commerce-dialog.page-inquiry .product-card.card-paired .product-heading .line-name { width: 100%; white-space: normal; }
html body .commerce-dialog.page-inquiry .product-card.card-paired .product-spec { line-height: 1.5; }
html body .commerce-dialog.page-inquiry .product-card.card-paired .product-image { align-self: stretch; height: auto; }
html body .commerce-dialog.page-inquiry .product-card.card-paired .product-image img { position: absolute; inset: 0; width: 100%; height: 100%; }
/* Both cart entry points use the same markup, dimensions and icons. */
html body.catalog-mode .catalog-inquiry-dock.st-cart-dock:not([hidden]), html body .commerce-dialog.page-inquiry .inquiry-footer.estimate-dock.st-cart-dock { grid-template-columns: minmax(0, 1fr) minmax(0, 34%) !important; height: 48px !important; min-height: 48px !important; padding: 4px 4px 4px 8px !important; gap: 6px !important; width: min(510px, calc(100% - 24px)) !important; }
html body .st-cart-dock .st-dock-leading { display: flex; align-items: center; gap: 6px; min-width: 0; padding: 0; margin: 0; }
html body .st-cart-dock .st-dock-icon { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; color: #d9e3ff; }
html body .st-cart-dock .st-dock-icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
html body .st-cart-dock .st-dock-copy.inquiry-summary { display: block; flex: 1; width: auto !important; max-width: none !important; min-width: 0; margin: 0 !important; padding: 0 !important; gap: 0 !important; }
html body .st-cart-dock .st-dock-copy.inquiry-summary strong { display: block !important; width: 100% !important; max-width: none !important; overflow: visible !important; margin: 0 !important; color: #fff !important; font-size: 17px !important; line-height: 1.25 !important; letter-spacing: -.3px !important; font-variant-numeric: tabular-nums; white-space: nowrap !important; }
html body.catalog-mode .catalog-inquiry-dock .st-dock-copy.inquiry-summary strong { font-size: 12px !important; line-height: 1.3 !important; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
html body .st-cart-dock .st-dock-copy.inquiry-summary small { display: block !important; margin-top: 1px !important; font-size: 9px !important; line-height: 1.2 !important; color: #c8d6f5; white-space: normal; }
html body .st-cart-dock .st-dock-copy.inquiry-summary small::before { content: none; }
html body .st-cart-dock.st-cart-dock > .st-dock-button { display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; height: auto !important; min-height: 0 !important; align-self: stretch !important; min-width: 0 !important; margin: 0 !important; padding: 3px 9px !important; gap: 6px !important; border: 0 !important; border-radius: 9px !important; background: linear-gradient(135deg,#ff941c,#f47300) !important; color: var(--st-color-action-ink,#081f80) !important; font-size: 14px !important; font-weight: 700 !important; line-height: 1.25 !important; text-align: center; }
html body .st-cart-dock .st-dock-button > span { flex: 1; min-width: 0; white-space: normal; }
html body .st-cart-dock .st-dock-button i { display: grid !important; place-items: center !important; flex: 0 0 28px !important; width: 28px !important; height: 28px !important; margin: 0 !important; border-radius: 7px !important; background: #ffffff20 !important; font-style: normal; }
html body .st-cart-dock .st-dock-button i svg { width: 19px !important; height: 19px !important; fill: none !important; stroke: currentColor !important; stroke-width: 1.6 !important; transform: none !important; }
html body .commerce-dialog.page-inquiry .quote-meta, html body .commerce-dialog.page-inquiry .currency-panel { display: contents; }
html body.catalog-mode .catalog-inquiry-dock .st-dock-leading { justify-content: center; }
html body.catalog-mode .catalog-inquiry-dock .st-dock-copy.inquiry-summary { text-align: center; }
html body .commerce-dialog.page-inquiry .currency-switch { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); width: calc(100% - 24px); max-width: none; min-width: 0; box-sizing: border-box; margin: 0 12px 8px; gap: 3px; padding: 3px; border-radius: 11px; background: #eeeff2; }
html body .commerce-dialog.page-inquiry .currency-switch button { display: grid; grid-template-columns: 10px 26px 16px; align-items: center; justify-content: center; min-width: 0; min-height: 34px; height: 34px; gap: 3px; padding: 3px; border: 0; border-radius: 8px; font-size: 12px; color: var(--muted); white-space: nowrap; }
html body .commerce-dialog.page-inquiry .currency-switch button b { display: block; margin: 0; padding: 0; font-size: 12px; font-weight: 700; height: 16px; line-height: 16px; text-align: center; }
html body .commerce-dialog.page-inquiry .currency-switch .currency-symbol { display: block; margin: 0; padding: 0; font-size: 13px; height: 16px; min-height: 0; line-height: 16px; text-align: center; }
html body .commerce-dialog.page-inquiry .currency-switch .currency-flag { align-self: center; justify-self: center; margin: 0; padding: 0; transform: none; }
html body .commerce-dialog.page-inquiry .quote-price { font-size: 17px; line-height: 1.25; letter-spacing: -.3px; }
html body:not(.catalog-mode) .goods-section .catalog-toolbar,
html body:not(.catalog-mode) .goods-section .catalog-active-filters { display: none; }
@media (max-width:340px) {
  html body .commerce-dialog.page-inquiry .quote-row { grid-template-columns: minmax(0,1fr) 72px; }
  html body .commerce-dialog.page-inquiry .quote-price { grid-column: 1 / -1; }
  html body .commerce-dialog.page-inquiry .quote-row .unit-select-shell { justify-self: end; width: 40px; }
}

/* Project lists reuse the customer inquiry form; keep the input near its heading. */
.commerce-dialog .project-inquiry-form { display: grid; max-width: 640px; margin: 0 auto; gap: 12px; padding-bottom: max(24px,env(safe-area-inset-bottom)); }
.project-inquiry-intro h2 { margin: 6px 0; font-size: 24px; line-height: 1.25; }
.project-inquiry-intro p, .project-inquiry-note { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.project-inquiry-form textarea { min-height: 88px; resize: vertical; }
.project-inquiry-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.project-inquiry-fields label { min-width: 0; }
.project-inquiry-form > .button { justify-content: space-between; }
html body .st-home-hero .st-home-hero-actions [data-home-project] { flex: 0 1 auto; min-width: 0; }
.st-home-hero-actions [data-home-project] span { min-width: 0; overflow-wrap: anywhere; }
.st-home-hero-actions [data-home-project] svg { flex-shrink: 0; }
.order-line [data-product-field="spec"] { white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 380px) { .project-inquiry-fields { grid-template-columns: 1fr; gap: 10px; } }
.commerce-dialog .project-inquiry-form label { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 6px; font-size: 13px; line-height: 1.5; margin: 0; }
.commerce-dialog .project-inquiry-form label input,
.commerce-dialog .project-inquiry-form label textarea { grid-column: 1 / -1; width: 100%; min-width: 0; padding: 10px 12px; font-size: 14px; line-height: 1.5; }
.commerce-dialog .project-inquiry-form em { margin: 0; font-size: 11px; font-style: normal; }
.commerce-dialog .project-inquiry-form .form-error:empty { display: none; }
.commerce-dialog .project-inquiry-form .button { min-height: 44px; height: auto; padding: 10px 16px; font-size: 14px; margin-top: 2px; }
.project-upload-entry { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; margin: 0 0 12px; border: 1px solid #d4dff5; border-radius: 14px; color: #102879; background: #f0f5ff; text-align: left; cursor: pointer; }
html body .commerce-dialog.page-inquiry :is(.currency-switch, .empty-inquiry, .project-upload-entry) { width: calc(100% - 24px); max-width: none; min-width: 0; box-sizing: border-box; margin-left: 12px; margin-right: 12px; }
.project-upload-entry > svg,.project-upload-choices svg,.project-upload-file > svg { width: 22px; height: 22px; flex: 0 0 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.project-upload-entry span { min-width: 0; }
.project-upload-entry strong { display: block; font-size: 15px; line-height: 1.35; }
.project-upload-entry small { display: block; margin-top: 3px; font-size: 12px; line-height: 1.4; color: #617092; }
.project-upload-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.project-upload-choices button { display: flex; justify-content: center; align-items: center; gap: 8px; padding: 10px 8px; min-height: 44px; border: 1px solid #d5dff4; border-radius: 10px; color: #0d2c86; background: #f4f7ff; font-size: 13px; font-weight: 700; line-height: 1.4; cursor: pointer; }
.project-inquiry-form .project-file-help { font-size: 11px; line-height: 1.5; color: var(--muted); margin: -5px 0 0; }
.project-upload-files:empty,.order-items:empty { display: none; }
.project-upload-file { display: flex; align-items: center; gap: 8px; padding: 8px 0; border-bottom: 1px solid #e7ecf5; font-size: 12px; }
.project-upload-file > img { width: 40px; height: 40px; border-radius: 6px; object-fit: cover; }
.project-upload-file > div:not(.project-file-actions) { flex: 1; min-width: 0; }
.project-upload-file strong { display: block; font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.project-upload-file small { display: block; color: #728099; line-height: 1.5; margin-top: 3px; }
.project-file-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0 8px; max-width: 100px; }
.project-file-actions button,.project-request-record button { padding: 6px 0; border: 0; background: transparent; color: #123486; font-size: 12px; line-height: 1.5; cursor: pointer; }
.project-request-record { padding: 16px; margin: 16px 0; border: 1px solid #dde5f3; border-radius: 14px; background: #f8faff; font-size: 13px; }
.project-request-record h3 { margin: 0 0 10px; font-size: 17px; }
.project-request-record h4 { margin: 12px 0 6px; font-size: 13px; }
.project-request-record dl { display: grid; gap: 6px; margin: 0; }
.project-request-record dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.project-request-record dt { color: #728099; }
.project-request-record dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
.project-request-record pre { font: inherit; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; padding: 10px; margin: 0; background: white; border-radius: 8px; }
.project-request-record p { margin: 10px 0 0; font-size: 12px; line-height: 1.5; color: #728099; }
.project-record-files article { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #e1e7f2; padding: 8px 0; }
.project-record-files article > span { min-width: 0; }
.project-record-files strong { font-size: 13px; overflow-wrap: anywhere; }
.project-record-files small { display: block; font-size: 11px; color: #728099; }
.project-record-files article > div { display: flex; flex-wrap: wrap; gap: 0 10px; justify-content: flex-end; min-width: 64px; }
html body .st-home-hero-actions [data-home-project],
html body .st-retail-copy button[data-home-project] { padding: 5px 0; min-height: 30px; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: #fff; font-size: 12px; line-height: 1.5; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; white-space: normal; max-width: 100%; }
html body [data-home-project] > svg { display: none; }
html body .st-retail-copy button[data-home-project]:hover { background: transparent; box-shadow: none; transform: none; }
.commerce-dialog.page-inquiry .empty-inquiry + .project-upload-entry { margin-top: 12px; }
.commerce-dialog.page-inquiry .inquiry-list + .project-upload-entry { margin-top: 14px; }
html body .commerce-dialog.page-inquiry .currency-switch button[aria-pressed=true] { color: #fff; background: linear-gradient(150deg,#153fa6,#09277e); box-shadow: 0 2px 5px #0a257522; }
html body .currency-flag { flex: 0 0 16px; width: 16px; height: 12px; overflow: hidden; border-radius: 2px; box-shadow: 0 0 0 1px #00000012; background-size: cover; background-position: center; }
html body .currency-flag-lo { background-image: url('flag-lo.svg'); }
html body .currency-flag-zh { background-image: url('flag-zh.svg'); }
html body .currency-flag-th { background: linear-gradient(#a51931 0 17%,#fff 17% 33%,#2d2a4a 33% 67%,#fff 67% 83%,#a51931 83%); }
html body .currency-flag-us { position: relative; background: repeating-linear-gradient(#b22234 0 7.69%,#fff 7.69% 15.38%); }
html body .currency-flag-us::before { content: ''; position: absolute; inset: 0 auto auto 0; width: 7px; height: 7px; background: radial-gradient(#fff .45px,transparent .6px) 0 0 / 2px 2px,#3c3b6e; }
@media (width > 720px) and (max-width: 1100px) {
  html body.catalog-mode #site-global-header .identity { flex: 1; min-width: 0; }
  html body.catalog-mode #site-global-header .identity > div { min-width: 0; }
  html body.catalog-mode #site-global-header .identity small { max-width: 180px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  html body.catalog-mode #site-global-header .toplinks > a { display: none; }
  html body.catalog-mode #site-global-header .toplinks { flex: none; gap: 14px; }
  html body:not(.catalog-mode) #site-global-header { flex-wrap: wrap; height: auto; gap: 6px; }
  html body:not(.catalog-mode) #site-global-header .identity { flex: 1; min-width: 0; }
  html body:not(.catalog-mode) #site-global-header .toplinks { order: 3; flex-basis: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  html body:not(.catalog-mode) #site-global-header .toplinks > * { min-width: 0; margin: 0; white-space: normal; line-height: 1.5; text-align: center; }
  html body .st-home-hero-title { font-size: calc(34px * var(--locale-heading-scale)); }
  html body .st-home-hero-copy { height: 390px; min-height: 390px; padding: 28px 24px; }
  html:lang(en) body .st-home-hero-title, html:lang(vi) body .st-home-hero-title { font-size: 22px; }
  html:lang(lo) body .st-home-hero-title, html:lang(th) body .st-home-hero-title { font-size: 24px; }
}
@media (max-width: 720px) {
  html body .st-home-hero-title { font-size: clamp(28px, 7vw, 36px); }
  html:lang(en) body .st-home-hero-title, html:lang(vi) body .st-home-hero-title,
  html:lang(lo) body .st-home-hero-title, html:lang(th) body .st-home-hero-title { font-size: clamp(24px, 4.8vw, 26px); }
  html body .st-home-hero-copy { height: auto; min-height: 0; }
  html body .st-home-hero-actions { flex-wrap: nowrap; }
  html body .st-home-hero-actions .button { flex: 0 0 auto; min-width: 0; max-width: 100%; padding: 5px 10px; gap: 6px; height: 44px; font-size: 11px; }
  html body .st-home-hero-actions .button span { min-width: 0; }
  html body .st-home-hero-actions .button i { flex-shrink: 0; width: 26px; height: 30px; }
  html body .st-home-hero-actions .st-home-secondary { flex: 0 0 auto; min-width: 0; font-size: 11px; white-space: normal; }
  html:lang(zh) body .st-home-hero-actions .button { font-size: 12px; padding: 5px 10px; gap: 6px; }
  html:not(:lang(zh)) body .st-chapter-title { font-size: calc(24px * var(--locale-heading-scale)); }
  html body .st-chapter-heading { height: auto; min-height: 0; }
  html body .st-chapter-title { margin-top: 5px; }
  html:lang(en) body .st-chapter-title, html:lang(vi) body .st-chapter-title { font-size: 17px; line-height: 1.2; }
  html:not(:lang(zh)) body .st-section-head h2 { font-size: calc(24px * var(--locale-heading-scale)); }
  html:not(:lang(zh)) body .st-retail-copy h3 { font-size: calc(22px * var(--locale-heading-scale)); }
  html body .st-chapter-note { max-width: 100%; }
  html body .st-category-copy strong { font-size: 11px; }
   html body .commerce-dialog .checkout-intro h2 { font-size: calc(24px * var(--locale-heading-scale)); line-height: var(--locale-leading); }
  html body .catalog-toolbar, html body.catalog-mode .catalog-toolbar { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 8px; }
  html body .catalog-toolbar-left, html body .catalog-toolbar-right, html body.catalog-mode .catalog-toolbar > div { display: contents; }
  html body .catalog-filter-open { grid-column: 1; grid-row: 1; justify-self: start; }
  html body .catalog-result { grid-column: 2; grid-row: 1; min-width: 0; white-space: nowrap; }
  html body .stock-only-toggle, html body.catalog-mode .catalog-toolbar .stock-only-toggle { grid-column: 3; grid-row: 1; justify-self: end; justify-content: flex-start; flex: none; width: auto; min-height: 42px; height: 42px; padding: 0 2px; border: 0; background: transparent; box-shadow: none; white-space: normal; line-height: 1.5; }
  html body .stock-only-toggle::before { flex-shrink: 0; }
  html body.catalog-mode .stock-only-toggle::after { left: 4px; }
  html body .catalog-sort-open { grid-column: 4; grid-row: 1; justify-self: end; }
  html body .catalog-filter-open, html body .catalog-sort-open { min-width: 0; min-height: 42px; height: 42px; padding: 0 9px; white-space: normal; line-height: 1.5; }
}
@media (max-width: 480px) {
  html body .catalog-toolbar, html body.catalog-mode .catalog-toolbar { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.2fr) minmax(0, .6fr); gap: 6px; }
  /* Catalog-specific grouping below restores the count unit. */
  html body .catalog-toolbar .catalog-result, html body.catalog-mode .catalog-toolbar .catalog-result { font-size: 0; }
  html body .catalog-toolbar .catalog-result strong, html body.catalog-mode .catalog-toolbar .catalog-result strong { font-size: 12px; }
  html body .catalog-filter-open, html body .catalog-sort-open { max-width: 100%; font-size: 11px; }
  html body .stock-only-toggle, html body.catalog-mode .catalog-toolbar .stock-only-toggle { max-width: 100%; gap: 5px; font-size: 11px; }
}
.price-pending { display: inline-block; max-width: 100%; font-size: 14px; line-height: 1.35; letter-spacing: 0; white-space: normal; overflow-wrap: anywhere; }
.price-pending-note { display: block; margin-top: 4px; font-size: 11px; font-weight: 400; line-height: 1.4; letter-spacing: 0; white-space: normal; }
.history-card-bottom strong:has(.price-pending-note) { flex-wrap: wrap; justify-content: flex-end; min-width: 0; max-width: 62%; white-space: normal; }
.history-card-bottom strong > .price-pending-note { flex-basis: 100%; margin-top: 0; text-align: right; }
.success-receipt > div:has(.price-pending-note) { flex-wrap: wrap; }
.success-receipt .price-pending-note { flex-basis: 100%; }
.quote-confirm-total:has(.price-pending-note) { flex-wrap: wrap; }
.quote-confirm-total .price-pending-note { flex-basis: 100%; }
.shelf-price strong { display: block; color: #081f80; font-size: 12.5px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
.detail-gallery .detail-share { position: absolute; top: 12px; right: 12px; min-width: 44px; min-height: 36px; max-width: 130px; padding: 6px 12px; border: 1px solid #dce3f0; border-radius: 18px; background: #fff; color: #102976; font: inherit; font-size: 12px; font-weight: 600; line-height: 1.35; cursor: pointer; box-shadow: 0 2px 8px #1029760c; }
.detail-gallery .detail-share-status:not([hidden]) { position: absolute; top: 56px; right: 12px; max-width: calc(100% - 24px); padding: 5px 9px; border-radius: 8px; background: #fff; color: #102976; font-size: 11px; line-height: 1.4; }
html body .commerce-dialog.page-detail .detail-content > .detail-share-fallback { order: 8; margin: 8px 0 0; padding: 10px; border: 1px solid #dce3f0; border-radius: 10px; background: #f5f7fb; }
.detail-share-fallback label { display: grid; gap: 5px; font-size: 12px; }
.detail-share-fallback input { box-sizing: border-box; width: 100%; min-width: 0; padding: 8px; border: 1px solid #dce3f0; border-radius: 6px; background: #fff; font: inherit; font-size: 12px; }
.detail-share-fallback small { display: block; margin-top: 5px; color: #758198; font-size: 11px; line-height: 1.4; }
/* One compact browsing group: category -> controls/count -> removable context. */
html body.catalog-mode .catalog-hot-categories { margin: 0; padding: 0; border-bottom: 0; gap: 10px; }
html body.catalog-mode .catalog-hot-list { gap: 16px; padding-bottom: 0; }
html body.catalog-mode .catalog-hot-category { position: relative; min-height: 32px; padding: 2px 0 7px; }
html body.catalog-mode .catalog-hot-category[aria-pressed=true]::after { content: ''; display: block; position: absolute; left: 0; right: 0; bottom: 2px; height: 2px; border-radius: 2px; background: #f58210; }
html body.catalog-mode .catalog-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; min-height: 36px; gap: 8px; margin: 4px 0; padding: 0; border: 0; }
html body.catalog-mode .catalog-sticky-controls { --muted: #4e5e78; position: sticky; top: var(--catalog-header-height, 72px); z-index: 25; box-sizing: border-box; padding: 2px max(20px,var(--catalog-bleed-right,0px)) 6px max(20px,var(--catalog-bleed-left,0px)); margin: 0 calc(-1 * var(--catalog-bleed-right,0px)) 8px calc(-1 * var(--catalog-bleed-left,0px)); border: 1px solid var(--st-header-edge); border-top: 0; border-radius: 0 0 17px 17px; background: rgba(255,255,255,.88); box-shadow: var(--st-header-shadow); -webkit-backdrop-filter: blur(20px) saturate(1.35); backdrop-filter: blur(20px) saturate(1.35); }
html body:not(.catalog-mode) .catalog-sticky-controls { display: none; }
html body.catalog-mode .catalog-sticky-controls .stock-only-toggle[aria-checked="false"], html body.catalog-mode .catalog-sticky-controls .catalog-clear-all { color: var(--muted); }
html body.catalog-mode .catalog-sticky-controls .catalog-current-path button { color: #455e85; }
html body.catalog-mode .catalog-sticky-controls .catalog-path-divider, html body.catalog-mode .catalog-sticky-controls .catalog-filter-chip > span { color: #61718b; }
html body.catalog-mode .catalog-sticky-controls .catalog-current-path button:hover { color: #123b98; }
html body .catalog-current-path, html body .catalog-group-path { display: flex; align-items: center; gap: 6px; min-width: 0; color: var(--muted); font-size: 11px; font-weight: 400; line-height: 1.5; }
html body .catalog-current-path { min-height: 28px; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
html body .catalog-current-path button { flex: none; min-height: 28px; padding: 3px 2px; border: 0; border-radius: 4px; background: none; color: #526b94; font: inherit; text-decoration: underline; text-decoration-color: #c8d3e4; text-underline-offset: 3px; cursor: pointer; }
html body .catalog-current-path button:hover { background: #eef3ff; color: #123b98; text-decoration-color: currentColor; }
html body .catalog-current-path button:active { background: #e0eaff; }
html body .catalog-current-path button:focus-visible, html body.catalog-mode .catalog-toolbar button:focus-visible { outline: 2px solid #ff7900; outline-offset: 2px; }
html body .catalog-current-path[hidden] { display: none; }
html body .catalog-path-divider { color: #b8c2d3; flex: none; }
html body .catalog-current-path [aria-current], html body .catalog-group-path [aria-current] { color: #3b5078; font-weight: 600; }
html body .goods-grid > .catalog-group-path { grid-column: 1 / -1; flex-wrap: wrap; margin: 4px 0 -6px; padding: 5px 0; border-top: 1px solid #edf0f6; }
html body .goods-grid > .catalog-group-path:first-child { border-top: 0; margin-top: 0; }
.catalog-sort-note { margin: 0 0 8px; color: var(--muted); font-size: 11px; line-height: 1.5; }
html body .quote-price .inquiry-tier-label { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; font-weight: 500; line-height: 1.3; letter-spacing: 0; }
html body.catalog-mode .catalog-toolbar > .catalog-toolbar-left, html body.catalog-mode .catalog-toolbar > .catalog-toolbar-right { display: flex; align-items: center; min-width: 0; margin: 0; padding: 0; }
html body.catalog-mode .catalog-toolbar > .catalog-toolbar-left { min-height: 36px; gap: 6px; }
html body.catalog-mode .catalog-toolbar > .catalog-toolbar-right { flex: none; min-height: 28px; gap: 8px; margin-left: auto; }
html body.catalog-mode .catalog-toolbar .catalog-filter-open, html body.catalog-mode .catalog-toolbar .catalog-sort-open { display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-width: 0; min-height: 28px; height: 28px; margin: 0; padding: 0 4px; border: 1px solid #dce4f2; border-radius: 7px; background: #f7f9fd; box-shadow: 0 1px 2px #17396d06; font-size: 12px; line-height: 1.3; color: #0b2d85; cursor: pointer; }
html body.catalog-mode .catalog-toolbar .catalog-sort-open { padding-inline: 8px; }
html body.catalog-mode .catalog-toolbar .catalog-control-icon { flex: none; width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
html body.catalog-mode .catalog-toolbar .catalog-filter-open:hover, html body.catalog-mode .catalog-toolbar .catalog-sort-open:hover { border-color: #a8bce2; background: #edf3ff; }
html body.catalog-mode .catalog-toolbar .catalog-filter-open:active, html body.catalog-mode .catalog-toolbar .catalog-sort-open:active { background: #dfe9fb; }
html body.catalog-mode .catalog-toolbar .catalog-result { display: inline-flex; flex: none; align-items: baseline; gap: 2px; margin: 0 0 0 4px; padding: 0; font-size: 11px; line-height: 1.3; color: var(--muted); white-space: nowrap; }
html body.catalog-mode .catalog-toolbar .catalog-result strong { font-size: 12px; font-weight: 700; color: #153783; }
html body.catalog-mode .catalog-toolbar .catalog-result-unit { font-size: 10px; }
html body.catalog-mode .catalog-toolbar .stock-only-toggle { min-height: 28px; height: 28px; padding: 2px 2px 2px 4px; border-radius: 6px; gap: 6px; font-size: 11px; line-height: 1.2; }
html body.catalog-mode .catalog-toolbar .stock-only-toggle::after { left: 7px; }
html body.catalog-mode .catalog-active-filters:not(:empty) { gap: 5px; margin: 4px 0; padding: 0; }
html body.catalog-mode .catalog-filter-chip { min-height: 26px; padding: 3px 7px; border: 0; border-radius: 7px; font-size: 11px; background: #f1f4f9; }
html body.catalog-mode .catalog-clear-all { min-height: 26px; padding: 0 5px; font-size: 11px; }
@media (max-width:480px) {
  html:not(:lang(zh)) body.catalog-mode .catalog-toolbar .catalog-filter-open, html:not(:lang(zh)) body.catalog-mode .catalog-toolbar .catalog-sort-open { font-size: 10px; }
  html:not(:lang(zh)) body.catalog-mode .catalog-toolbar .catalog-result-unit { font-size: 9px; }
  html:not(:lang(zh)) body.catalog-mode .catalog-toolbar .stock-only-toggle { font-size: 10px; }
  html body.catalog-mode .catalog-toolbar .stock-only-toggle > span { max-width: 64px; white-space: normal; }
  html body.catalog-mode .catalog-toolbar > .catalog-toolbar-right { gap: 8px; }
  html:not(:lang(zh)) body.catalog-mode .catalog-toolbar .stock-only-toggle,
  html:not(:lang(zh)) body.catalog-mode .catalog-toolbar .catalog-filter-open,
  html:not(:lang(zh)) body.catalog-mode .catalog-toolbar .catalog-sort-open { height: auto; }
}

/* Keep related homepage actions together; the hint can wrap in narrow space. */
html body .st-home-hero .st-home-hero-actions:has([data-home-project]) { flex-wrap: wrap; flex-direction: row; align-items: center; width: 100%; gap: 6px 16px; }
html body .st-home-hero .st-home-hero-actions:has([data-home-project]) > .button { flex: 0 0 auto; max-width: 100%; }
html body .st-home-hero .st-home-hero-actions .st-home-secondary[data-home-project] { flex: 1 1 100px; width: auto; min-width: 0; justify-content: flex-start; padding: 5px 0; font-size: 12px; line-height: 1.5; white-space: normal; }
html body .st-home-hero .st-home-hero-actions [data-home-project] span { flex-shrink: 1; white-space: normal; overflow-wrap: anywhere; }

/* Use the enclosing page gutter once, and align prices by the actual row height. */
html body .st-retail-project { max-width: none; padding-left: 0; padding-right: 0; }
html body .goods-section .goods-grid { align-items: stretch; }
html body .goods-section .goods-card { display: flex; flex-direction: column; min-height: 0; }
html body .goods-section .goods-card > .goods-image { flex: 0 0 auto; }
html body .goods-section .goods-card > .goods-copy { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; gap: 0; padding: 10px 11px 11px; }
html body .goods-section .goods-copy h3 { margin: 0; min-height: 0; height: auto; white-space: normal; overflow: visible; line-height: 1.45; }
html body .goods-section .goods-card .goods-copy p { margin: 5px 0 0; min-height: 0; height: auto; white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.45; overflow-wrap: anywhere; }
html body .goods-section .goods-copy p:not(:has(.goods-spec-warning)):has(.st-product-text > span:first-child:empty) { display: none; }
html body .goods-section .goods-copy .goods-bottom { margin-top: auto; padding-top: 0; flex-wrap: nowrap; align-items: end; }
@media (max-width: 720px) { html body .wrap:has(> .st-retail-project) { padding-left: 18px; padding-right: 18px; } }

/* One shared store map keeps the homepage compact on mobile. */
html body .st-about { display: grid; grid-template-columns: minmax(230px, .75fr) minmax(0, 1.45fr); gap: 28px; margin: 34px 0 24px; padding: 22px 0 0; border-top: 1px solid #142b7715; }
html body .st-about-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 0; }
html body .st-about h2 { margin: 12px 0 9px; color: #102879; font-size: 28px; line-height: 1.3; }
html body .st-about p { margin: 0; max-width: 380px; color: #63718a; font-size: 13px; line-height: 1.7; }
html body .st-location-switch { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 18px; }
html body .st-location-switch button { min-height: 36px; padding: 6px 13px; border: 1px solid #dbe2f0; border-radius: 9px; color: #64718b; background: #fff; font-size: 13px; line-height: 1.4; }
html body .st-location-switch button[aria-pressed="true"] { color: #fff; background: #112e83; border-color: #112e83; box-shadow: inset 0 -2px #ff8100; }
html body .st-map-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 11px; font-size: 12px; line-height: 1.4; color: #102879; }
html body .st-map-link svg { width: 16px; height: 16px; flex-shrink: 0; }
html body .st-map-panel { min-width: 0; overflow: hidden; border: 1px solid #dbe2f0; border-radius: 16px; background: #f0f4fa; }
html body .st-map-panel iframe { display: block; width: 100%; height: 300px; border: 0; }
@media (max-width: 720px) {
 html body .st-about { grid-template-columns: minmax(0,1fr); gap: 14px; margin-top: 22px; padding-top: 18px; }
 html body .st-about h2 { margin: 8px 0 6px; font-size: 23px; }
 html body .st-about p { max-width: none; font-size: 12px; line-height: 1.6; }
 html body .st-location-switch { margin-top: 12px; }
 html body .st-map-link { margin-top: 8px; }
 html body .st-map-panel iframe { height: 240px; }
}
html body.catalog-mode .st-about { display: none; }
