/* Task 001: public storefront tokens. Not loaded by staff/admin pages.
   Product color swatches describe real merchandise and keep their own colors. */
:root {
  --primary: #1B2F5E;
  --primary-hover: #142449;
  --primary-tint: #E8EDF6;
  --accent-soft: #6B8BC9;
  --ink: #0F172A;
  --ink-2: #1E293B;
  --muted: #64748B;
  --surface: #F5F7FB;
  --surface-2: #EEF2F8;
  --border: #E2E8F0;
  --border-strong: #CBD5E1;
  --bg: #FFFFFF;
  --status-error: #9F2F2F;
  --status-success: #205639;
  --font-ui: 'Geist', Arial, sans-serif;
  --font-mono: 'Geist Mono', monospace;
}

html, body { background: var(--bg); color: var(--ink); font-family: var(--font-ui); }
body::before { content: none; }
.sv1-shell { min-width: 0; background: var(--bg); }
button, input, textarea, select { font-family: inherit; }
a { color: var(--primary); }
a:hover { color: var(--primary-hover); }
h1, h2, h3, h4 { color: var(--ink); }
/* Muted is for white surfaces; use ink-2 over tinted panels for AA contrast. */
.sv1-home-stage .sv1-kicker, .sv1-home-stage .sv1-lead,
.sv1-command-center p, .sv1-command-center .sv1-hero-proof span,
.sv1-command-center .sv1-system-category span, .sv1-final-cta p { color: var(--ink-2); }
.sv1-nav-link, .sv1-mega a, .sv1-all-subpanel a { color: var(--ink-2); }
.sv1-nav-link:hover, .sv1-nav-item.nav-open .sv1-nav-link,
.sv1-mega a:hover, .sv1-all-subpanel a:hover { color: var(--primary-hover); background: var(--primary-tint); }
.sv1-nav-item > .sv1-mega { display: none; }
.sv1-nav-item.nav-open > .sv1-mega { display: grid; }
:is(a, button, input, textarea, select, summary):focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
input, textarea, select { border: 1px solid var(--border-strong); border-radius: 10px; background: var(--bg); color: var(--ink); }
input:hover, textarea:hover, select:hover { border-color: var(--primary); }
input:focus, textarea:focus, select:focus { border-color: var(--primary); background: var(--bg); }
input::placeholder, textarea::placeholder { color: var(--muted); }
button, .button, .sv1-button, .lux-v2-button, .page-link, .page-current,
.sv1-search, .sv1-search button { border-radius: 10px; }
:is(button, .button, .sv1-button, .lux-v2-button, .page-link, .page-current, summary) { min-height: 44px; }
.sv1-shell :is(button, .button, .sv1-button, .lux-v2-button, .page-link, .page-current) { border-radius: 10px; min-height: 44px; }
.sv1-shell .sv1-mega a, .sv1-shell .lux-c3-color-choice { min-height: 44px; }
.sv1-search button, .sv1-button.primary, .button.primary, button.primary,
.lux-v2-button.primary { background: var(--primary); color: var(--bg); border-color: var(--primary); }
.sv1-search button:hover, .sv1-button.primary:hover, .button.primary:hover,
button.primary:hover, .lux-v2-button.primary:hover { background: var(--primary-hover); color: var(--bg); border-color: var(--primary-hover); }
.sv1-button.secondary, .button.secondary { color: var(--primary); background: var(--bg); border: 1px solid var(--border-strong); }
.sv1-button.secondary:hover, .button.secondary:hover { color: var(--primary-hover); background: var(--primary-tint); }
.sv1-search button .sv1-ui-icon { color: inherit; background: transparent; border: 0; }
.sv1-command-center .sv1-system-category { background-image: var(--sv1-card-art); }
.sv1-system-category::before { background: color-mix(in srgb, var(--bg) 82%, transparent); }
.sv1-work-number, .sv1-tab-node, .sv1-flow-node { color: var(--primary); }
.sv1-work-number { background: var(--primary-tint); }
#sv1-stage-need:checked ~ .sv1-workflow-tabs label[for="sv1-stage-need"] .sv1-tab-node,
#sv1-stage-spec:checked ~ .sv1-workflow-tabs label[for="sv1-stage-spec"] .sv1-tab-node,
#sv1-stage-production:checked ~ .sv1-workflow-tabs label[for="sv1-stage-production"] .sv1-tab-node,
#sv1-stage-qc:checked ~ .sv1-workflow-tabs label[for="sv1-stage-qc"] .sv1-tab-node,
#sv1-stage-delivery:checked ~ .sv1-workflow-tabs label[for="sv1-stage-delivery"] .sv1-tab-node { background: var(--primary-tint); color: var(--primary); border: 1px solid var(--border); }
.sv1-product-number, .lux-c3-product-number strong, .lux-c3-product-number input,
.lux-v2-spec-row:first-child dd { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.sv1-price-request, .sv1-price-basis, .sv1-visible-price-tiers, .sv1-hover-price-tiers,
.lux-v2-price-tier-card, .lux-v2-pricing, .lux-c3-price-summary, [data-unit-price], [data-total-price] { font-variant-numeric: tabular-nums; }
.sv1-card .sv1-price-request, .lux-c3-price-summary dd,
.lux-v2-price-tier-card strong, .sv1-visible-price-tier dd { color: var(--primary); }
.lux-v2-price-tier-card.selected, .lux-c3-inquiry .lux-c3-setup-toggle.selected,
.lux-c3-color-choice.selected, .page-current, [aria-current="page"].sv1-nav-link { background: var(--primary-tint); color: var(--primary); border-color: var(--primary); }
.lux-v2-price-tier-card.selected .lux-v2-price-tier-quantity { color: var(--primary); }
.lux-v2-tags span { color: var(--ink-2); }
.pagination .page-gap, .pagination .page-disabled { color: var(--ink-2); }
.sv1-card, .sv1-product-card, .sv1-capability-card, .sv1-category-icon-tile,
.sv1-home-stage, .form-panel, .lux-c3-inquiry, .lux-v2-pricing-horizontal,
.lux-v2-price-tier-card { border-radius: 12px; }
.sv1-card, .sv1-product-card, .sv1-capability-card, .sv1-category-icon-tile,
.form-panel, .sv1-mega, .sv1-all-subpanel { border: 1px solid var(--border); }
.sv1-product-card:hover, .sv1-product-card:focus-visible { border-color: var(--primary); }
.sv1-footer { background: var(--ink); border-top: 1px solid var(--border); }
.sv1-footer :is(strong, h2, p, a, span) { color: var(--bg); }
.sv1-footer a:hover { color: var(--bg); text-decoration: underline; text-underline-offset: 4px; }
.sv1-footer-credentials span { background: transparent; border-color: var(--border-strong); }
.sv1-footer a { display: flex; align-items: center; min-height: 44px; }

/* One non-animated bar, one copy of each contact link. */
.sv1-utility-bar { background: var(--primary); color: var(--bg); border: 0; }
.sv1-utility-inner { width: min(var(--sv1-width), calc(100% - 60px)); margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; font-size: 12px; font-weight: 500; overflow: visible; }
.sv1-utility-identifiers { margin: 0; }
.sv1-utility-contact { display: flex; align-items: center; gap: 16px; }
.sv1-utility-bar .sv1-utility-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--bg); }
.sv1-utility-bar .sv1-utility-link:hover { color: var(--bg); text-decoration: underline; text-underline-offset: 4px; }
.sv1-utility-bar :focus-visible { outline-color: var(--bg); outline-offset: -2px; }

/* Only responsive containment below desktop; section order and desktop grids stay intact. */
@media (max-width: 960px) {
  .sv1-utility-inner { width: calc(100% - 32px); flex-wrap: wrap; justify-content: center; gap: 0 16px; padding-top: 8px; text-align: center; }
  .sv1-header { grid-template-columns: minmax(0, 1fr); padding: 16px; gap: 16px; }
  .sv1-brand strong { font-size: 22px; }
  .sv1-navrow { padding-inline: 16px; position: relative; }
  .sv1-categories { flex-wrap: wrap; justify-content: flex-start; gap: 4px; }
  .sv1-nav-item { flex: 0 1 auto; position: static; }
  .sv1-nav-link { width: auto; padding-inline: 8px; }
  .sv1-all-categories { position: static; }
  .sv1-mega { max-width: calc(100vw - 32px); left: 0; right: auto; transform: none; }
  .sv1-mega-cascade { width: calc(100vw - 32px); grid-template-columns: minmax(0, 1fr); }
  .sv1-all-subpanel { display: none; }
  .sv1-all-category:focus-within .sv1-all-subpanel, .sv1-all-category:hover .sv1-all-subpanel { display: block; position: static; width: 100%; min-width: 0; }
  .sv1-all-list, .sv1-all-subpanel, .sv1-subpanel-title, .sv1-mega-links { min-width: 0; }
  .sv1-inner, .sv1-footer-inner, .lux-v2-main { width: calc(100% - 32px); min-width: 0; }
  .sv1-home-stage { padding: 24px; }
  .sv1-home-stage-grid, .lux-v2-product-hero, .sv1-hero-grid, .sv1-split { grid-template-columns: minmax(0, 1fr); }
  .sv1-home-stage-grid > *, .lux-v2-product-hero > *, .sv1-hero-grid > *, .sv1-split > * { min-width: 0; }
  .sv1-home-category-grid, .sv1-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .sv1-capability-grid, .sv1-workflow, .sv1-footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sv1-footer-about { grid-column: 1 / -1; }
  .sv1-final-cta { flex-wrap: wrap; padding: 24px; }
  .sv1-final-cta .sv1-actions-row { flex-shrink: 1; flex-wrap: wrap; }
  .sv1-section-head, .sv1-catalog-heading, .sv1-toolbar { flex-wrap: wrap; }
  .sv1-category-dock-head { display: flex; flex-wrap: wrap; gap: 16px; }
  .sv1-shell .sv1-category-dock-head > * { width: auto; min-width: 0; max-width: 100%; }
  .sv1-catalog-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sv1-form-grid { grid-template-columns: minmax(0, 1fr); }
  .sv1-form-grid > *, .sv1-catalog-controls > * { min-width: 0; }
  .lux-v2-inquiry-section .lux-c3-inquiry { padding: 24px; }
  .lux-v2-inquiry-section .lux-c3-inquiry form { grid-template-columns: minmax(0, 1fr); }
  .lux-v2-inquiry-section .lux-c3-inquiry form > * { grid-column: 1 / -1; min-width: 0; }
  .lux-v2-pricing-horizontal { min-width: 0; overflow-x: auto; }
  .lux-v2-inquiry-section .lux-c3-price-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lux-v2-inquiry-section .lux-c3-price-summary > div:last-child { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .sv1-section { padding-block: 24px; }
  .sv1-home-stage, .sv1-final-cta, .form-panel, .lux-v2-inquiry-section .lux-c3-inquiry { padding: 16px; }
  .sv1-hero-copy h1 { font-size: 32px; }
  .sv1-section h1, .lux-v2-summary .lux-v2-product-title { font-size: 28px; }
  .sv1-section h2 { font-size: 24px; }
  .sv1-product-card { padding: 8px; }
  .sv1-product-card h3, .sv1-product-card .sv1-price-request { font-size: 14px; }
  .sv1-home-category-grid .sv1-category-icon-tile { padding: 12px; }
  .sv1-capability-grid, .sv1-workflow, .sv1-pain-grid { grid-template-columns: minmax(0, 1fr); }
  .sv1-utility-contact { gap: 12px; font-size: 11px; }
  .sv1-footer-inner { gap: 24px 16px; }
  .sv1-footer-contact a { overflow-wrap: anywhere; }
  .lux-v2-product-hero { gap: 24px; }
  .lux-v2-image-canvas { min-height: 0; }
  .lux-v2-spec-row { grid-template-columns: 88px minmax(0, 1fr); }
  .lux-v2-spec-row dd { overflow-wrap: anywhere; }
  .sv1-search button { padding-inline: 16px; }
  .sv1-inquiry-actions { gap: 16px; }
}

/* Task 004: public quantity pricing; existing staff styles do not load this file. */
.sv1-header:has(.sv1-global-quantity) { grid-template-columns: auto minmax(160px, 1fr) 176px; gap: 24px; }
.sv1-global-quantity { display: grid; gap: 4px; font-size: 12px; font-weight: 600; color: var(--ink-2); }
.sv1-global-quantity select { width: 100%; min-height: 44px; padding: 8px 12px; font-size: 14px; }
.sv1-estimated-label { color: var(--muted); font-size: 12px; font-weight: 500; }
.sv1-card .sv1-price-request { margin: 4px 0 8px; font-size: 18px; line-height: 1.4; }
.sv1-card .sv1-price-basis { margin: 0; font-size: 12px; line-height: 1.5; }
.sv1-card-minimum, .sv1-minimum-notice { color: var(--status-error); font-size: 13px; line-height: 1.5; }
[data-card-minimum][hidden], [data-inquiry-minimum][hidden] { display: none; }
.sv1-quantity-pricing { min-width: 0; margin: 24px 0; }
.sv1-quantity-pricing-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.sv1-quantity-pricing-head h3 { margin: 0; font-size: 16px; }
.sv1-price-label { font-size: 12px; font-weight: 600; color: var(--primary); padding: 4px 8px; background: var(--primary-tint); border-radius: 4px; }
/* Use the available pricing container, not the browser width: Quick look stays
   narrow even on a large desktop. Three columns is also the safe fallback. */
.sv1-quantity-pricing, .wb-preview-product { container: tier-pricing / inline-size; }
.sv1-tier-scroll { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 4px 4px 12px; }
@container tier-pricing (min-width: 560px) {
  .sv1-tier-scroll { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
.sv1-shell .sv1-tier-cell { min-width: 0; max-width: 100%; min-height: 44px; display: grid; gap: 8px; justify-items: center; padding: 16px 8px; border: 1px solid var(--border); border-radius: 12px; background: var(--bg); color: var(--ink-2); cursor: pointer; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.sv1-tier-cell span { font-size: 13px; }
.sv1-tier-cell strong { font-size: 18px; }
.sv1-shell .sv1-tier-cell:hover { border-color: var(--primary); }
.sv1-shell .sv1-tier-cell.selected { background: var(--primary-tint); color: var(--primary); font-weight: 700; border-color: var(--primary); }
.sv1-estimate { grid-column: 1 / -1; min-width: 0; padding: 24px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.sv1-estimate-title { margin: 0 0 16px; font-weight: 600; color: var(--ink-2); }
.lux-c3-inquiry .sv1-estimate .lux-c3-price-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; border: 0; background: transparent; }
.lux-c3-inquiry .sv1-estimate .lux-c3-price-summary > div { padding: 0; border: 0; background: transparent; min-width: 0; }
.sv1-estimate dd { overflow-wrap: anywhere; }
.sv1-estimate .sv1-estimate-total { grid-column: 1 / -1; padding-top: 16px !important; border-top: 1px solid var(--border) !important; }
.sv1-estimate-total dd { font-size: 28px; }
.sv1-estimate-note { margin: 16px 0 0; font-size: 12px; color: var(--ink-2); }
.lux-v2-inquiry-section .lux-c3-inquiry [data-inquiry-minimum] { grid-column: 1 / -1; margin: 0; }
@media (max-width: 960px) {
  .sv1-header:has(.sv1-global-quantity) { grid-template-columns: minmax(0, 1fr) 152px; gap: 16px; }
  .sv1-header:has(.sv1-global-quantity) .sv1-search { grid-row: 2; grid-column: 1 / -1; }
  .sv1-global-quantity { grid-column: 2; grid-row: 1; }
  .lux-c3-inquiry .sv1-estimate .lux-c3-price-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .sv1-header:has(.sv1-global-quantity) { grid-template-columns: minmax(0, 1fr) 132px; gap: 12px; }
  .sv1-header:has(.sv1-global-quantity) .sv1-brand strong { font-size: 18px; }
  .sv1-header:has(.sv1-global-quantity) .sv1-brand span { font-size: 10px; }
  .sv1-card .sv1-price-request { font-size: 14px; }
  .sv1-estimate { padding: 16px; }
  .sv1-tier-cell strong { font-size: 16px; }
}
/* Task008: public product detail, deliberately isolated from staff/legacy UI. */
body[data-public-page] .sv1-breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; color:var(--muted); font-size:13px; margin:0 0 24px; }
body[data-public-page] .sv1-detail-page { max-width:1328px; margin:0 auto; padding:16px 32px 64px; }
body[data-public-page] .sv1-detail-page .sv1-breadcrumbs { margin-bottom:16px; }
body[data-public-page] .sv1-detail-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; }
body[data-public-page] .sv1-detail-summary { position:sticky; top:24px; min-width:0; }
body[data-public-page] .sv1-detail-gallery { min-width:0; max-width:100%; }
body[data-public-page] .sv1-detail-number { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--muted); min-height:44px; }
body[data-public-page] .sv1-detail-number strong { font-family:var(--font-mono); color:var(--primary); }
body[data-public-page] .sv1-detail-number button { min-height:44px; padding:8px 12px; background:var(--bg); border:1px solid var(--border); }
body[data-public-page] .sv1-detail-summary h1 { font-size:32px; font-weight:650; line-height:1.15; letter-spacing:-.025em; margin:0 0 8px; color:var(--ink); }
body[data-public-page] .sv1-detail-badges { display:flex; flex-wrap:wrap; gap:8px; padding:0; list-style:none; margin:0 0 12px; }
body[data-public-page] .sv1-detail-badges li { background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:6px 10px; font-size:12px; color:var(--ink-2); }
body[data-public-page] .sv1-detail-image { aspect-ratio:1; width:100%; border:1px solid var(--border); border-radius:16px; overflow:hidden; background:var(--bg); display:grid; place-items:center; }
body[data-public-page] .sv1-detail-image img { width:100%; height:100%; object-fit:contain; }
body[data-public-page] .sv1-detail-page [hidden] { display:none!important; }
body[data-public-page] .sv1-gallery-caption { color:var(--muted); font-size:12px; line-height:1.5; margin:12px 0; }
body[data-public-page] .sv1-gallery-pager { display:flex; gap:8px; overflow-x:auto; padding-bottom:8px; }
body[data-public-page] .sv1-gallery-pager button { flex:0 0 44px; min-height:44px; background:var(--bg); color:var(--muted); border:1px solid var(--border); border-radius:10px; padding:8px; font-variant-numeric:tabular-nums; }
body[data-public-page] .sv1-gallery-pager button[aria-pressed=true] { background:var(--primary-tint); color:var(--primary); border-color:var(--primary); font-weight:700; }
body[data-public-page] .sv1-gallery-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; }
body[data-public-page] .sv1-gallery-actions a, body[data-public-page] .sv1-gallery-actions button { font-size:13px; min-height:44px; border:1px solid var(--border); border-radius:10px; padding:10px 16px; background:var(--bg); color:var(--primary); }
body[data-public-page] .sv1-copy-status { font-size:12px; color:var(--muted); overflow-wrap:anywhere; min-height:18px; }
body[data-public-page] .sv1-detail-page .lux-c3-inquiry { display:block; border:0; padding:0; margin:0; border-radius:0; background:transparent; }
body[data-public-page] .sv1-detail-page .lux-c3-inquiry form { display:grid; grid-template-columns:1fr; gap:8px; }
body[data-public-page] .sv1-detail-page .sv1-quantity-pricing { margin:0 0 8px; padding:0; }
body[data-public-page] .sv1-detail-page .sv1-quantity-pricing-head { margin-bottom:8px; }
body[data-public-page] .sv1-detail-page .sv1-tier-cell { min-width:0; flex:1 0 80px; padding:10px 4px; gap:4px; }
body[data-public-page] .sv1-detail-page .sv1-tier-cell span { font-size:11px; }
body[data-public-page] .sv1-detail-page .sv1-tier-cell>* { line-height:1.3; font-weight:600; }
body[data-public-page] .sv1-detail-page .sv1-tier-scroll { padding:2px 2px 4px; }
body[data-public-page] .sv1-detail-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
body[data-public-page] .sv1-detail-page label { font-size:12px; display:grid; gap:4px; color:var(--muted); min-width:0; }
body[data-public-page] .sv1-detail-page select, body[data-public-page] .sv1-detail-page input { min-width:0; width:100%; min-height:44px; margin:0; padding:8px 12px; border:1px solid var(--border-strong); border-radius:10px; color:var(--ink); font-size:14px; background:var(--bg); }
body[data-public-page] .sv1-detail-page .lux-c3-quantity-label { grid-column:auto; display:grid; grid-template-columns:1fr 120px; align-items:center; }
body[data-public-page] .sv1-detail-page .sv1-estimate { padding:12px 16px; border:1px solid var(--border); border-radius:12px; background:var(--surface); margin:0; }
body[data-public-page] .sv1-detail-page .sv1-estimate-title { font-size:12px; margin:0 0 8px; }
body[data-public-page] .sv1-detail-page .lux-c3-price-summary { display:grid; grid-template-columns:1fr 1fr; gap:4px 24px; margin:0; }
body[data-public-page] .sv1-detail-page .lux-c3-price-summary>div { display:flex; justify-content:space-between; gap:8px; padding:0; border:0; }
body[data-public-page] .sv1-detail-page .lux-c3-price-summary dt { font-size:11px; line-height:1.5; font-weight:400; text-transform:none; letter-spacing:0; color:var(--muted); }
body[data-public-page] .sv1-detail-page .lux-c3-price-summary dd { font-size:12px; line-height:1.5; font-weight:600; margin:0; color:var(--ink); }
body[data-public-page] .sv1-detail-page .lux-c3-price-summary .sv1-estimate-total { grid-column:1/-1; border-top:1px solid var(--border); padding-top:8px!important; margin-top:4px; align-items:center; }
body[data-public-page] .sv1-detail-page .sv1-estimate-total dt { font-size:13px; color:var(--ink); }
body[data-public-page] .sv1-detail-page .sv1-estimate-total dd { font-size:24px; color:var(--primary); }
body[data-public-page] .sv1-detail-page .sv1-estimate-note { font-size:11px; margin:4px 0 0; }
body[data-public-page] .sv1-detail-page [data-inquiry-quantity-help] { display:none; }
body[data-public-page] .sv1-detail-page .sv1-detail-contact { grid-column:1/-1; }
body[data-public-page] .sv1-detail-contact>summary { display:flex; justify-content:center; align-items:center; min-height:48px; background:var(--primary); color:var(--bg); border:1px solid var(--primary); border-radius:10px; padding:12px 16px; cursor:pointer; font-size:14px; font-weight:600; list-style:none; }
body[data-public-page] .sv1-detail-contact>summary::-webkit-details-marker { display:none; }
body[data-public-page] .sv1-detail-contact>summary:hover { background:var(--primary-hover); }
body[data-public-page] .sv1-detail-contact>p { font-size:12px; color:var(--muted); }
body[data-public-page] .sv1-detail-contact .lux-c3-contact-grid { display:block; margin:12px 0; }
body[data-public-page] .sv1-detail-contact .sv1-inquiry-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
body[data-public-page] .sv1-detail-tabs { margin-top:56px; border-top:1px solid var(--border); }
body[data-public-page] .sv1-detail-tablist { display:flex; gap:24px; border-bottom:1px solid var(--border); overflow-x:auto; }
body[data-public-page] .sv1-detail-tablist a { min-height:56px; display:flex; align-items:center; white-space:nowrap; padding:12px 0; font-size:14px; color:var(--muted); border-bottom:2px solid transparent; text-decoration:none; }
body[data-public-page] .sv1-detail-tablist a[aria-selected=true] { color:var(--primary); border-bottom-color:var(--primary); font-weight:600; }
body[data-public-page] .sv1-detail-tabs>section { padding:24px 0; max-width:100%; }
body[data-public-page] .sv1-detail-tabs h2 { font-size:18px; margin:0 0 16px; }
body[data-public-page] .sv1-detail-tabs p { max-width:80ch; font-size:15px; line-height:1.8; color:var(--ink-2); }
body[data-public-page] .sv1-detail-specs { display:grid; grid-template-columns:1fr 1fr; gap:0 48px; margin:0; }
body[data-public-page] .sv1-detail-specs>div { display:grid; grid-template-columns:140px 1fr; gap:16px; padding:16px 0; border-bottom:1px solid var(--border); min-width:0; }
body[data-public-page] .sv1-detail-specs dt { font-size:13px; color:var(--muted); }
body[data-public-page] .sv1-detail-specs dd { margin:0; font-size:14px; color:var(--ink); overflow-wrap:anywhere; }
body[data-public-page] .sv1-similar { margin-top:40px; padding-top:32px; border-top:1px solid var(--border); }
body[data-public-page] .sv1-similar .sv1-section-head { align-items:baseline; }
body[data-public-page] .sv1-similar .sv1-section-head span { font-size:13px; color:var(--muted); }
@media(max-width:900px) {
 body[data-public-page] .sv1-detail-hero { grid-template-columns:minmax(0,1fr); gap:24px; }
 body[data-public-page] .sv1-detail-summary { position:static; }
 body[data-public-page] .sv1-detail-page { padding:24px 20px 48px; }
 body[data-public-page] .sv1-detail-summary h1 { font-size:28px; }
 body[data-public-page] .sv1-detail-page select, body[data-public-page] .sv1-detail-page input { font-size:16px; }
 body[data-public-page] .sv1-detail-specs { grid-template-columns:1fr; }
 body[data-public-page] .sv1-detail-specs>div { grid-template-columns:110px 1fr; gap:16px; }
 body[data-public-page] .sv1-detail-tablist { gap:20px; }
 body[data-public-page] .sv1-detail-tablist a { font-size:12px; }
 body[data-public-page] .sv1-detail-page .lux-c3-price-summary { grid-template-columns:1fr; }
 body[data-public-page] .sv1-detail-page .sv1-tier-cell { flex-basis:88px; }
 body[data-public-page] .sv1-similar .sv1-section-head { display:block; }
}

/* Task 005: public RFQ list only; never checkout or staff controls. */
.sv1-header:has(.sv1-quote-open) { grid-template-columns:auto minmax(180px,1fr) 144px auto; gap:16px; }
.sv1-quote-open { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; white-space:nowrap; color:var(--primary); background:var(--bg); border:1px solid var(--border-strong); border-radius:10px; font-size:14px; padding:8px 12px; }
.sv1-quote-badge { min-width:24px; padding:2px 6px; background:var(--primary-tint); border-radius:8px; font-variant-numeric:tabular-nums; }
.sv1-quote-card { position:relative; min-width:0; }
.sv1-quote-card>.sv1-product-card { height:100%; box-sizing:border-box; }
.sv1-add-quote { display:flex; align-items:center; justify-content:center; width:44px; min-height:44px; border:1px solid var(--border-strong); background:var(--bg); color:var(--primary); border-radius:10px; padding:8px; }
.sv1-quote-card>.sv1-add-quote { position:absolute; top:20px; right:20px; }
.sv1-detail-number .sv1-add-quote { margin-left:auto; }
.sv1-add-quote:hover, .sv1-quote-open:hover { background:var(--primary-tint); border-color:var(--primary); }
.sv1-quote-modal-open { overflow:hidden; }
body[data-public-page] .sv1-quote-drawer { position:fixed; inset:0 0 0 auto; width:min(640px,100vw); max-width:100vw; height:100dvh; max-height:100dvh; margin:0; padding:0; border:0; border-left:1px solid var(--border); border-radius:0; box-shadow:none; background:var(--bg); color:var(--ink); overflow:auto; overscroll-behavior:contain; box-sizing:border-box; }
.sv1-quote-drawer::backdrop { background:color-mix(in srgb, var(--ink) 38%, transparent); }
.sv1-quote-drawer-head { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px 32px; background:var(--bg); border-bottom:1px solid var(--border); }
.sv1-quote-drawer-head .sv1-kicker { margin:0 0 4px; font-size:11px; }
.sv1-quote-drawer-head h2 { margin:0; font-size:28px; line-height:1.2; letter-spacing:-.03em; }
.sv1-quote-drawer-head>button { min-width:44px; min-height:44px; font-size:24px; background:var(--bg); border:1px solid var(--border-strong); border-radius:10px; color:var(--ink); }
.sv1-quote-workspace { min-width:0; }
.sv1-quote-drawer .sv1-quote-workspace { padding:0 32px 24px; }
.sv1-quote-workspace [hidden] { display:none!important; }
.sv1-quote-workspace p, .sv1-quote-workspace label, .sv1-quote-workspace a { overflow-wrap:anywhere; }
.sv1-quote-intro, .sv1-quote-empty { color:var(--muted); font-size:14px; line-height:1.6; margin:24px 0; }
.sv1-quote-empty { padding:24px; border:1px dashed var(--border-strong); border-radius:12px; }
.sv1-quote-line { border:1px solid var(--border); border-radius:12px; padding:16px; margin:0 0 16px; background:var(--bg); }
.sv1-quote-line-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.sv1-quote-line-head>div { min-width:0; }
.sv1-quote-line-head .sv1-product-number { display:block; font-size:12px; margin:0 0 4px; color:var(--muted); }
.sv1-quote-line-head a { display:block; font-size:15px; font-weight:600; line-height:1.4; color:var(--ink); text-decoration:none; }
.sv1-quote-line-head>button { flex-shrink:0; min-height:44px; border:0; background:var(--bg); color:var(--muted); text-decoration:underline; padding:0 8px; font-size:12px; }
.sv1-quote-line-fields, .sv1-quote-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:16px; }
.sv1-quote-line-fields { grid-template-columns:88px minmax(0,1fr) minmax(0,1fr); gap:12px; }
.sv1-quote-workspace label { display:flex; flex-direction:column; gap:8px; min-width:0; font-size:13px; font-weight:500; color:var(--ink-2); }
.sv1-quote-workspace :is(input:not([type=checkbox]),select,textarea) { width:100%; min-width:0; min-height:44px; padding:10px 12px; font:inherit; font-size:14px; color:var(--ink); background:var(--bg); border:1px solid var(--border-strong); border-radius:10px; box-sizing:border-box; box-shadow:none; }
.sv1-quote-workspace input[type=file] { font-size:13px; padding:8px; }
.sv1-quote-workspace input::file-selector-button { min-height:44px; border:1px solid var(--border-strong); border-radius:8px; background:var(--surface); color:var(--ink-2); margin-right:8px; padding:8px 12px; }
.sv1-quote-workspace small { color:var(--muted); font-size:12px; font-weight:400; line-height:1.5; }
.sv1-quote-calculation { color:var(--muted); font-size:12px; margin:12px 0 4px; font-variant-numeric:tabular-nums; }
.sv1-quote-line-total { display:flex; justify-content:space-between; gap:8px; font-size:13px; margin:4px 0 0; }
.sv1-quote-line-total strong { color:var(--primary); font-variant-numeric:tabular-nums; white-space:nowrap; }
.sv1-quote-totals { display:grid; grid-template-columns:1fr auto; gap:8px; padding:16px; border:1px solid var(--border); border-radius:12px; background:var(--surface); font-size:14px; }
.sv1-quote-totals strong { color:var(--primary); font-size:20px; font-variant-numeric:tabular-nums; }
.sv1-quote-totals small { grid-column:1/-1; }
.sv1-quote-continue { display:inline-flex; align-items:center; min-height:44px; font-size:13px; color:var(--primary); text-underline-offset:4px; }
.sv1-quote-full-link { display:inline-flex; align-items:center; min-height:44px; margin:8px 32px 0; font-size:13px; color:var(--primary); text-underline-offset:4px; }
.sv1-detail-full-quote { display:inline-flex; align-items:center; min-height:44px; font-size:13px; color:var(--primary); text-underline-offset:4px; }
.sv1-quote-contact-area { margin-top:24px; }
.sv1-quote-contact-area h2 { margin:0 0 16px; font-size:20px; letter-spacing:-.02em; }
.sv1-quote-contact-area>label { margin-bottom:16px; }
.sv1-quote-extras { border-top:1px solid var(--border); padding-top:8px; margin-top:16px; }
.sv1-quote-extras summary { min-height:44px; display:flex; align-items:center; gap:8px; cursor:pointer; color:var(--ink-2); font-size:14px; font-weight:600; }
.sv1-quote-extras summary::before { content:'+'; font-size:18px; width:16px; }
.sv1-quote-extras[open] summary::before { content:'−'; }
.sv1-quote-extras summary span { color:var(--muted); font-weight:400; font-size:12px; margin-left:auto; }
.sv1-quote-wide { grid-column:1/-1; }
.sv1-quote-workspace .sv1-quote-checkbox { flex-direction:row; align-items:center; min-height:44px; gap:12px; }
.sv1-quote-checkbox input { width:20px; height:20px; accent-color:var(--primary); }
.sv1-quote-submit-row { position:sticky; bottom:0; display:grid; gap:8px; padding:16px 0; background:var(--bg); border-top:1px solid var(--border); margin-top:8px; }
.sv1-quote-submit-row button { width:100%; min-height:48px; font-size:15px; }
.sv1-quote-submit-row small { text-align:center; }
.sv1-quote-form-status { font-size:13px; line-height:1.5; margin:8px 0; }
.sv1-quote-form-status.is-error { color:var(--status-error); }
.sv1-quote-save-status { font-size:12px; color:var(--muted); padding:0 32px 16px; }
.sv1-quote-confirmation { padding:48px 0; }
.sv1-quote-confirmation h2 { font-size:32px; letter-spacing:-.04em; line-height:1.15; margin:16px 0 24px; }
.sv1-quote-confirmation strong { display:block; margin-top:8px; font-family:var(--font-mono); font-size:20px; color:var(--primary); overflow-wrap:anywhere; }
.sv1-quote-confirmation p { line-height:1.6; color:var(--muted); }
.sv1-quote-page h1 { font-size:40px; letter-spacing:-.04em; line-height:1.2; margin:16px 0 32px; }
.sv1-quote-page form { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:48px; }
.sv1-quote-page form[hidden] { display:none; }
.sv1-quote-page .sv1-quote-contact-area { margin:0; border:1px solid var(--border); border-radius:16px; padding:24px; }
.sv1-quote-page .sv1-quote-intro { margin-top:0; }
.sv1-quote-announcement { position:fixed; bottom:16px; left:16px; max-width:calc(100vw - 32px); padding:12px 16px; border:1px solid var(--border); background:var(--bg); color:var(--ink); border-radius:10px; font-size:13px; z-index:10; }
.sv1-quote-announcement:empty { display:none; }
@media(max-width:1100px) {
 .sv1-header:has(.sv1-quote-open) { grid-template-columns:minmax(0,1fr) 144px auto; }
 .sv1-header:has(.sv1-quote-open) .sv1-search { grid-row:2; grid-column:1/-1; }
 .sv1-quote-page form { gap:24px; }
}
@media(max-width:600px) {
 .sv1-header:has(.sv1-quote-open) { grid-template-columns:minmax(0,1fr) auto; gap:12px; }
 .sv1-header:has(.sv1-quote-open) .sv1-brand { grid-column:1; grid-row:1; }
 .sv1-header:has(.sv1-quote-open) .sv1-quote-open { grid-column:2; grid-row:1; }
 .sv1-header:has(.sv1-quote-open) .sv1-global-quantity { grid-column:1/-1; grid-row:2; flex-direction:row; align-items:center; justify-content:space-between; }
 .sv1-header:has(.sv1-quote-open) .sv1-global-quantity select { width:160px; }
 .sv1-header:has(.sv1-quote-open) .sv1-search { grid-row:3; }
 .sv1-quote-card>.sv1-add-quote { top:12px; right:12px; }
 .sv1-quote-drawer-head { padding:20px; }
 .sv1-quote-drawer .sv1-quote-workspace { padding:0 20px 16px; }
 .sv1-quote-line { padding:12px; }
 .sv1-quote-line-fields { grid-template-columns:1fr 1fr; }
 .sv1-quote-line-fields>label:last-child:nth-child(3) { grid-column:1/-1; }
 .sv1-quote-workspace :is(input:not([type=checkbox]),select,textarea) { font-size:16px; }
 .sv1-quote-page form { grid-template-columns:1fr; }
 .sv1-quote-page h1 { font-size:32px; }
 .sv1-quote-page .sv1-quote-contact-area { padding:16px; }
 .sv1-quote-fields { grid-template-columns:1fr; }
 .sv1-quote-confirmation h2 { font-size:28px; }
 .sv1-quote-save-status { padding-inline:20px; }
}
