*{box-sizing:border-box}body{margin:0;background:var(--theme-bg);color:var(--theme-text);font:16px/1.55 "Segoe UI",Arial,sans-serif}button,input,select{font:inherit}a{color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--theme-accent);outline-offset:4px}button{border:1px solid var(--theme-line);background:var(--theme-surface);color:var(--theme-text);padding:10px 15px;border-radius:10px;min-height:44px}button:hover:not(:disabled){border-color:var(--theme-accent)}.wrap{max-width:1440px;margin:auto;padding-inline:40px}.header{display:flex;align-items:center;justify-content:space-between;padding-block:24px;border-bottom:1px solid var(--theme-line);gap:24px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.brand strong{font-size:24px;letter-spacing:-1px}.brand em{font-style:normal;font-weight:400;color:var(--theme-accent)}.brand small{display:block;color:var(--theme-muted);font-size:11px;letter-spacing:1px}.logo-shell{background:linear-gradient(140deg,#143d55,#152447);padding:8px;border-radius:16px;box-shadow:0 0 20px #4fe8ff4d,inset 0 1px 0 #ffffff80}.logo-shell img{display:block;object-fit:contain;filter:drop-shadow(0 0 5px #b7f4ffb3)}nav{display:flex;gap:26px;align-items:center}.header nav a{text-decoration:none;font-size:14px}.header button,.ask-row button,.empty button{background:var(--theme-accent);color:var(--theme-ink);border-color:var(--theme-accent);font-weight:650}.intro{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:44px 0 34px;position:relative;isolation:isolate}.intro:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--theme-bg),transparent),var(--theme-image) center right/cover;opacity:.12}.eyebrow{color:var(--theme-accent);font-size:11px;letter-spacing:2px;font-weight:700;margin:0 0 12px}h1{font-size:clamp(30px,3.8vw,49px);font-weight:650;line-height:1.12;letter-spacing:-1.5px;margin:0 0 16px}h1 span{color:var(--theme-accent)}.intro>div>p:not(.eyebrow){color:var(--theme-muted);max-width:570px;margin-bottom:0}.intro-side{padding:20px 30px;border-left:1px solid var(--theme-line);min-width:300px}.orbit{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--theme-accent);border-radius:50%;font-size:24px;color:var(--theme-accent)}.text-button{padding:8px 0;border:0;background:none;color:var(--theme-accent);text-align:left}.catalog-toolbar{display:flex;gap:20px;align-items:end;padding:16px 0 26px}.search-label{flex:1}.search-label>span{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}input,select{width:100%;min-height:46px;border:1px solid var(--theme-line);border-radius:10px;background:var(--theme-surface);color:var(--theme-text);padding:12px 14px;color-scheme:dark}input::placeholder{color:var(--theme-muted)}#search{font-size:18px;min-height:56px;padding-left:20px}.theme-choice{display:flex;align-items:center;gap:12px;font-size:13px}.theme-choice[hidden]{display:none}.theme-choice select{width:auto}.catalog-layout{display:grid;grid-template-columns:215px minmax(0,1fr);gap:32px}.filters{border-top:1px solid var(--theme-line);padding-top:14px}.filter-heading{display:flex;align-items:center;justify-content:space-between}.filter-heading h2{font-size:17px;margin:0}.filter-heading button{padding:4px;font-size:12px;border:0;background:none;color:var(--theme-accent)}.filters label{display:block;margin:15px 0;font-size:13px;color:var(--theme-muted)}.filters select{display:block;margin-top:7px;font-size:13px}.note{color:var(--theme-muted);font-size:12px}.supplier-status{padding-top:15px;margin-top:24px;border-top:1px solid var(--theme-line);font-size:12px;color:var(--theme-muted)}.supplier-status p{margin:7px 0}.result-bar{display:flex;gap:15px;justify-content:space-between;align-items:center;min-height:50px;margin-bottom:14px;font-size:13px}.result-bar p{margin:0}.result-bar span{font-size:11px;color:var(--theme-muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{min-width:0;border:1px solid var(--theme-line);border-radius:16px;overflow:hidden;background:var(--theme-surface);display:flex;flex-direction:column}.product-picture{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:#f5f7f8;padding:25px;color:#53606c}.product-picture img{width:100%;height:100%;object-fit:contain}.no-image{font-size:13px;text-align:center}.card-copy{padding:20px;display:flex;flex-direction:column;flex:1}.product-brand{font-size:11px;color:var(--theme-accent);text-transform:uppercase;letter-spacing:1.5px}.card h2{font-size:16px;line-height:1.4;margin:9px 0 10px;overflow-wrap:anywhere}.part{font-size:12px;color:var(--theme-muted);overflow-wrap:anywhere}.card-description{font-size:13px;color:var(--theme-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-actions{display:flex;gap:8px;margin-top:auto;padding-top:15px;flex-wrap:wrap}.card-actions button{font-size:12px;flex:1;padding:8px}.card-actions button:last-child{color:var(--theme-accent)}.empty{text-align:center;border:1px dashed var(--theme-line);border-radius:16px;padding:60px 24px;min-height:300px}.empty>span{font-size:40px;color:var(--theme-accent)}.empty h2{font-size:22px}.empty p{color:var(--theme-muted);max-width:520px;margin:0 auto 22px}.pages{justify-content:center;margin:30px 0}.pages span{font-size:13px}.footer{display:flex;justify-content:space-between;gap:20px;margin-top:50px;padding-block:25px;border-top:1px solid var(--theme-line);font-size:12px;color:var(--theme-muted)}.skip{position:fixed;top:-80px;left:15px;background:var(--theme-accent);color:var(--theme-ink);padding:14px;z-index:20}.skip:focus{top:10px}dialog{background:var(--theme-surface);color:var(--theme-text);border:1px solid var(--theme-line);border-radius:20px;padding:28px;width:min(700px,calc(100% - 24px));max-height:90dvh;overflow:auto}dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:16px}.dialog-top button{font-size:23px;padding:0;width:44px;flex-shrink:0}.dialog-top h2{margin:0;font-size:23px}.detail-grid{display:grid;grid-template-columns:200px 1fr;gap:24px}.detail-grid h2{margin-top:0}.detail-specs{padding-left:22px;color:var(--theme-muted);font-size:14px}.source-list{font-size:12px;color:var(--theme-muted);padding-left:20px}.guide-disclosure{font-size:13px;color:var(--theme-muted)}#guide-context{color:var(--theme-accent);font-size:13px}.conversation{min-height:160px;max-height:300px;overflow:auto;display:flex;flex-direction:column;gap:14px;margin-block:20px}.message{padding:14px;border:1px solid var(--theme-line);border-radius:12px;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.message.user{margin-left:35px;background:var(--theme-bg)}.message strong{display:block;font-size:11px;color:var(--theme-accent);margin-bottom:6px}.message button{display:block;text-align:left;margin-top:8px;width:100%;font-size:13px}.suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.suggestions button{font-size:12px;padding:8px}.ask-row{display:flex;gap:8px}#ask label{display:block;font-size:12px;margin-bottom:6px}.handoff{display:flex;flex-wrap:wrap;gap:15px;padding-top:12px;font-size:13px;color:var(--theme-accent)}[hidden]{display:none!important}@media(max-width:1150px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-side{display:none}.catalog-layout{grid-template-columns:190px minmax(0,1fr);gap:22px}.wrap{padding-inline:25px}}@media(max-width:700px){.wrap{padding-inline:18px}.header{padding-block:16px;gap:15px}.header nav{gap:8px}.header nav a{display:none}.header button{font-size:12px}.brand strong{font-size:21px}.logo-shell{padding:5px}.logo-shell img{width:32px;height:32px}.intro{padding-block:30px 15px}.catalog-toolbar{flex-wrap:wrap}.search-label{flex-basis:100%}.catalog-layout{display:block}.filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.filter-heading{grid-column:1/-1}.filters label{margin:0}.filters label:last-of-type{grid-column:1/-1}.supplier-status{grid-column:1/-1;margin:0;padding:0;border:0}.supplier-status p{display:inline;margin-right:12px}.filters>.note{grid-column:1/-1;margin:0 0 15px}.grid{gap:10px}.card-copy{padding:13px}.product-picture{padding:14px}.card h2{font-size:14px}.card-actions{display:block}.card-actions button{width:100%;margin-top:7px}.card-description{display:none}.footer{flex-direction:column}.detail-grid{display:block}.detail-grid .product-picture{max-width:220px;margin-bottom:20px}dialog{padding:20px}.pages{gap:12px}.pages button{font-size:12px}.result-bar{align-items:start;flex-direction:column;gap:3px;padding-block:14px}}@media(prefers-reduced-transparency:reduce){.intro:before{display:none}dialog::backdrop{backdrop-filter:none}}@media(forced-colors:active){.card,button,input,select{border:1px solid CanvasText}.product-picture{background:Canvas;color:CanvasText}}
.reference-picture{background:linear-gradient(145deg,#eff3f6,#dbe5e9);border-bottom:1px solid #c8d6dc}.reference-label{width:100%;display:flex;flex-direction:column;gap:10px}.reference-label strong{font-size:clamp(19px,2vw,28px);letter-spacing:-1px;color:#294858}.reference-label span{font-size:15px;overflow-wrap:anywhere;color:#3c5968}.reference-label small{font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:#5c707b}
.review-note{font-size:12px;color:var(--theme-accent);border-left:2px solid var(--theme-accent);padding-left:10px}
.product-picture{position:relative}.image-label{position:absolute;bottom:8px;left:8px;background:#e8edf1;color:#415666;border-radius:4px;padding:3px 7px;font-size:10px}.image-links{display:flex;gap:18px;flex-wrap:wrap;margin:10px 0 22px;font-size:13px;color:var(--theme-accent)}#detail{width:min(960px,calc(100% - 24px))}.detail-grid{grid-template-columns:minmax(260px,1fr) 1fr;align-items:start}.detail-grid .product-picture{border-radius:12px;min-height:280px}@media(max-width:700px){.detail-grid{display:block}.detail-grid .product-picture{max-width:none;min-height:240px}.image-label{font-size:9px}}

/* Public reference prices share the selected visual theme. */
.pricing-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:12px 0;border-block:1px solid var(--theme-line)}
.pricing-summary p{margin:0;color:var(--theme-muted);font-size:12px;max-width:650px}
.pricing-summary button{flex:0 0 auto;font-size:12px;padding:8px 12px}
.product-price{display:flex;flex-direction:column;gap:5px;margin:10px 0 4px;overflow-wrap:anywhere}
.price-label{font-size:11px;color:var(--theme-muted)}
.price-amount{font-size:clamp(18px,1.8vw,26px);font-weight:700;line-height:1.25;font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.price-tax{font-size:11px;color:var(--theme-accent)}
.price-date{font-size:10px;color:var(--theme-muted);line-height:1.5}
.price-review{font-size:11px;font-weight:600;color:var(--theme-accent)}
.product-stock{display:flex;flex-direction:column;gap:5px;margin:12px 0 8px;padding-top:10px;border-top:1px solid var(--theme-line);overflow-wrap:anywhere}
.stock-label,.stock-date{font-size:11px;color:var(--theme-muted);line-height:1.5}
.stock-count{font-size:12px;font-weight:600;color:var(--theme-text);line-height:1.5;font-variant-numeric:tabular-nums}
.detail-grid .stock-count{font-size:14px}.pricing-summary #stock-status{margin-top:6px}
.digital-logo img{width:auto;height:auto;max-width:75%;max-height:120px;object-fit:contain}.detail-grid .digital-logo img{max-height:200px}
.price-unit{font-size:12px;font-weight:600;color:var(--theme-text)}
.price-commitment{font-size:12px;font-weight:600;color:var(--theme-text);line-height:1.45}
.catalog-shortcuts{display:flex;gap:8px;margin:0 0 20px;flex-wrap:wrap}
.catalog-shortcuts button{font-size:13px;min-width:90px}
.catalog-shortcuts button[aria-pressed="true"]{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-ink);font-weight:650}
.digital-picture{background:linear-gradient(145deg,var(--theme-surface),var(--theme-bg));border-bottom:1px solid var(--theme-line);color:var(--theme-text);position:relative;isolation:isolate;min-height:190px}
.digital-picture:before{content:"";position:absolute;inset:16px;border:1px solid var(--theme-line);border-radius:16px;z-index:-1}
.digital-picture .reference-label{gap:14px;padding:8px}
.digital-picture .reference-label small{color:var(--theme-accent);font-size:10px;letter-spacing:1.8px}
.digital-picture .reference-label strong{color:var(--theme-text);font-size:clamp(17px,1.9vw,27px);line-height:1.2;letter-spacing:-.7px;overflow-wrap:anywhere}
.digital-picture .reference-label span{color:var(--theme-muted);font-size:12px}
.commercial-terms{padding-left:20px;color:var(--theme-muted);font-size:14px;line-height:1.6}
.commercial-terms li{margin-block:6px}.manufacturer-link{display:inline-block;margin:4px 0 16px;color:var(--theme-accent);font-size:13px}
@media(max-width:700px){.digital-picture{padding:14px}.digital-picture:before{inset:8px;border-radius:10px}.digital-picture .reference-label{padding:0;gap:7px}.digital-picture .reference-label strong{font-size:17px}.digital-picture .reference-label small{font-size:9px;letter-spacing:1px}.digital-picture .reference-label span{font-size:10px}.catalog-shortcuts{margin-bottom:16px}}
@media(forced-colors:active){.digital-picture,.digital-picture .reference-label strong,.digital-picture .reference-label small,.digital-picture .reference-label span{color:CanvasText;background:Canvas}.catalog-shortcuts button[aria-pressed="true"]{color:HighlightText;background:Highlight;border-color:Highlight}}
.detail-grid .product-price{margin-block:18px}.detail-grid .price-amount{font-size:30px}.detail-grid .price-date{font-size:12px}
.detail-grid>*{min-width:0}.detail-grid .product-picture{width:100%}
@media(max-width:700px){.detail-grid .product-picture{min-height:0}}
@media(max-width:700px){.pricing-summary{align-items:start;gap:12px}.pricing-summary button{padding-inline:9px}.pricing-summary p{font-size:11px}}

/* Keep the focus indicator on the field edge, without a second detached border. */
.filters label { min-width: 0; }
.filters select { min-inline-size: 0; cursor: pointer; line-height: 1.4; }
.filters select:focus-visible {
  border-color: var(--theme-accent);
  outline: 2px solid var(--theme-accent);
  outline-offset: -2px;
}

/* Preserve native selection and keyboard behavior; older browsers keep their picker. */
@supports (appearance: base-select) {
  .filters select,
  .filters select::picker(select) { appearance: base-select; }
  .filters select {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    white-space: normal;
    text-align: start;
  }
  .filters select:open { border-color: var(--theme-accent); }
  .filters select::picker-icon { color: var(--theme-muted); flex: 0 0 auto; }
  .filters select::picker(select) {
    box-sizing: border-box;
    inline-size: anchor-size(self-inline);
    min-inline-size: anchor-size(self-inline);
    max-inline-size: calc(100vw - 32px);
    max-block-size: stretch;
    margin-block: 6px;
    padding: 5px;
    overflow: auto;
    border: 1px solid var(--theme-line);
    border-radius: 10px;
    background: var(--theme-surface);
    color: var(--theme-text);
    box-shadow: 0 12px 30px #0004;
    scrollbar-width: thin;
  }
  .filters select option {
    min-block-size: 44px;
    padding: 10px;
    border: 0;
    border-radius: 6px;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.4;
    cursor: pointer;
  }
  .filters select option:checked {
    background: var(--theme-bg);
    color: var(--theme-accent);
    font-weight: 600;
  }
  .filters select option:hover,
  .filters select option:focus-visible {
    background: var(--theme-accent);
    color: var(--theme-ink);
    outline: 0;
  }
  .filters select option::checkmark { flex: 0 0 auto; }
}
@media (forced-colors: active) {
  .filters select:focus-visible { border-color: Highlight; outline-color: Highlight; }
  .filters select::picker(select) { border-color: CanvasText; box-shadow: none; }
  .filters select option:checked { color: CanvasText; }
  .filters select option:hover,
  .filters select option:focus-visible { background: Highlight; color: HighlightText; }
}
