/* Dark screen presentation. Printed invoices use the document stylesheet. */
:root { color-scheme:dark; --navy:#e7e8ea; --blue:#a9c9f1; --blue-dark:#d2e4fc; --text:#e7e8ea; --muted:#a4a8af; --line:#363a40; --light:#22252a; --radius:0; }
body { background:#15171a; color:var(--text); font:15px/1.6 "Helvetica Neue",Helvetica,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
h1,h2,h3 { color:#f0f1f2; letter-spacing:-.025em; line-height:1.2; }
p { color:#b6bbc2; }
a { color:#a9c9f1; text-underline-offset:4px; }
a:hover { color:#fff; }
.container { width:min(1200px,calc(100% - 64px)); }
.site-header { border:0; }
.header-main { min-height:92px; padding:24px 0; gap:28px; }
.brand { font-family:inherit; font-size:28px; font-weight:700; letter-spacing:-1px; color:#f2f3f5; }
.brand-description { margin:5px 0 0; font-size:11px; color:#999fa8; }
.site-search { margin-left:auto; gap:0; border:1px solid #42474f; background:#1b1e23; }
.site-search input { width:200px; min-height:40px; background:transparent; border:0; border-radius:0; color:#e4e8ed; padding:9px 12px; }
.site-search button { background:transparent; color:#bcc4cf; border:0; padding:10px 13px; }
.header-quote { display:flex; align-items:center; gap:10px; color:#d7dce4; text-decoration:none; font-size:13px; }
.request-count { padding:1px 7px; border:1px solid #4a505a; color:#e6eaf0; font-size:11px; }
.main-nav { display:flex; flex-wrap:wrap; align-items:center; background:transparent; border:0; border-top:1px solid #33373e; border-bottom:1px solid #555c68; border-radius:0; gap:30px; }
.main-nav a { display:block; flex:0 0 auto; white-space:nowrap; border:0; padding:12px 0; color:#afb6c0; font-size:13px; }
.main-nav a:hover { background:transparent; color:white; text-decoration:none; }
.main-nav a[aria-current] { background:transparent; color:#f5f6f8; box-shadow:inset 0 -2px #d5deeb; font-weight:500; }
.home-page { padding:0 0 50px; }
.home-intro { display:grid; grid-template-columns:1.1fr 1fr; align-items:start; gap:70px; padding:34px 0; margin:0; border:0; border-bottom:1px solid #363a40; border-radius:0; background:transparent; }
.home-intro h1 { font-size:35px; font-weight:600; line-height:1.15; color:#f1f2f4; letter-spacing:-1px; }
.home-intro p { margin:0; font-size:14px; max-width:500px; line-height:1.7; color:#b4bac3; }
.home-intro .intro-minimum { display:block; margin:13px 0 0; font-size:12px; color:#919aa7; }
.home-intro .intro-note { margin-top:9px; font-size:12px; color:#929ba8; }
.home-intro .button { margin-top:17px; }
.home-catalogue { padding-top:27px; }
.section-heading { display:flex; justify-content:space-between; gap:20px; padding:0 0 17px; margin:0; border:0; }
.section-heading h2 { font-size:21px; font-weight:500; }
.catalogue-currency,.catalogue-footnote { color:#959da9; font-size:11px; }
.catalogue-footnote { margin-top:18px; }
.product-grid { display:flex; flex-direction:column; gap:0; border-top:1px solid #444a54; }
.product-card { display:grid; grid-template-columns:150px minmax(0,1fr); align-items:center; padding:22px 0; gap:26px; border:0; border-bottom:1px solid #363b44; border-radius:0; background:transparent; }
.product-image { border:0; padding:8px; border-radius:0; background:#b5b8bb; }
.product-image img { width:100%; height:130px; object-fit:contain; mix-blend-mode:multiply; }
.product-card-body { display:grid; grid-template-columns:minmax(200px,1.3fr) minmax(150px,1fr) 155px; column-gap:27px; align-items:center; }
.product-card .sku { grid-column:1; grid-row:1; font:10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; color:#929caa; }
.product-card h3 { grid-column:1; grid-row:2; margin:8px 0; font-size:20px; line-height:1.3; }
.product-card h3 a { color:#e6eaf0; font-weight:500; text-decoration:none; }
.product-card h3 a:hover { text-decoration:underline; }
.card-specifications { grid-column:2; grid-row:1/4; margin:0; font-size:12px; border-left:1px solid #363c46; padding-left:25px; }
.card-specifications>div { display:flex; justify-content:space-between; gap:15px; padding:5px 0; }
.card-specifications dt { color:#929eae; }.card-specifications dd { margin:0; color:#dae0e8; font-variant-numeric:tabular-nums; }
.card-price { grid-column:3; grid-row:1/3; padding:0; text-align:right; }
.card-price strong { display:block; font-size:22px; color:#e4e9f0; font-weight:500; letter-spacing:-.02em; }
.card-price small { display:block; font-size:11px; color:#929eae; margin-top:4px; }
.product-action { grid-column:3; grid-row:3; margin:12px 0 0; text-align:right; font-size:12px; font-weight:400; color:#a9c9f1; }
.home-ordering { background:transparent; padding:25px 0; margin-top:28px; border-top:1px solid #555c68; }
.home-ordering h2 { font-size:20px; }.home-ordering p { max-width:800px; font-size:13px; }
.button { min-height:42px; padding:10px 17px; font-size:13px; font-weight:500; border:1px solid #566170; border-radius:0; background:#252b33; color:#e5eaf2; text-decoration:none; }
.button:hover { background:#343d49; color:#fff; }
.button.primary { background:#d9e2ee; border-color:#d9e2ee; color:#17202c; }
.button.primary:hover { background:#fff; border-color:#fff; color:#17202c; }
.button.secondary { background:#242a32; border-color:#525d6d; color:#d2dce9; }
.text-button { color:#a9c9f1; }
.breadcrumbs { margin:22px 0; color:#9aa4b3; font-size:12px; }
.breadcrumbs a { color:#aebcd0; }
.page-intro { margin:0 0 30px; max-width:840px; }
.page-intro h1 { font-size:32px; font-weight:500; color:#edf0f4; }
.page-intro p { margin-top:13px; font-size:14px; line-height:1.7; color:#aeb8c6; }
.catalogue-layout { grid-template-columns:155px minmax(0,1fr); gap:30px; }
.shop-sidebar { padding:0; border:0; }
.shop-sidebar h2 { font-size:12px; color:#98a4b5; border-bottom:1px solid #3c4450; padding-bottom:12px; }
.shop-sidebar>a { padding:8px 0; font-size:13px; text-decoration:none; color:#bcc8d8; }
.shop-sidebar>a[aria-current] { color:#fff; font-weight:600; }
.shop-sidebar>a>span { color:#a0adbe; }
.sidebar-help { border-top:1px solid #3c4450; margin-top:22px; padding-top:18px; }
.sidebar-help h3 { color:#d2dbe6; font-size:13px; }.sidebar-help p { color:#98a5b8; }
.catalogue-toolbar { padding:0 0 15px; border:0; margin-bottom:0; }
.catalogue-toolbar p,.catalogue-toolbar label { color:#9eacbf; font-size:12px; }
.catalogue-toolbar select { padding:7px 8px; background:#20262e; border:1px solid #465163; border-radius:0; color:#d8e0eb; }
.catalogue-layout .product-card-body { grid-template-columns:minmax(140px,1fr) 150px; }
.catalogue-layout .card-specifications { grid-column:1; grid-row:3; border:0; padding:0; max-width:230px; }
.catalogue-layout .card-price { grid-column:2; grid-row:1/3; }.catalogue-layout .product-action { grid-column:2; grid-row:3; }
.panel,.quote-contact { padding:25px; border:1px solid #3c4552; border-radius:0; background:#1b2027; }
.custom-layout { grid-template-columns:minmax(0,1.9fr) minmax(260px,1fr); gap:40px; }
.custom-form { padding:0; border:0; background:transparent; }
.custom-form h2,.selected-product h2,.custom-help h2 { color:#dbe2ec; font-size:20px; }
.selected-product { background:#20262e; }.selected-product img { background:#b5b8bb; padding:14px; height:240px; mix-blend-mode:normal; object-fit:contain; }
.custom-help { background:transparent; border:0; padding:20px 0; }.custom-help p { color:#a5b1c2; }
.field { color:#c1cbd9; font-size:13px; font-weight:400; margin-bottom:20px; }
.field input,.field select,.field textarea,.editor-lines input,.editor-lines textarea { background:#20262e; color:#ecf0f6; border:1px solid #526073; border-radius:0; padding:10px 11px; min-height:43px; }
.field input::placeholder,.field textarea::placeholder,.requirements-grid input::placeholder { color:#8998ab; }
.field input[readonly] { background:#272e38; color:#bdc8d8; }
.field input:focus,.field select:focus,.field textarea:focus { outline:2px solid #9fbce0; outline-offset:2px; }
.design-requirements { margin-top:22px; padding-top:20px; border-color:#424c5b; }
.design-requirements>summary,.design-requirements legend { color:#dce5f2; font-size:16px; }
.design-requirements>summary>span { color:#98a8bd; }
.design-requirements fieldset { border-color:#424c5b; padding-top:17px; margin-block:24px; }
.form-help,.field-hint,.field-unit,.form-intro,.small-print,.pricing-disclaimer { color:#a1afc2; }
.requirements-feedback { color:#b6c7dd; background:#232d3b; border-left:2px solid #7189a8; border-radius:0; }
.configuration-estimate { border-color:#4a5667; }.configuration-estimate strong { color:#e4edf9; }.configuration-estimate p { color:#9eacc0; }
.quantity-control button { background:#303b4b; border-color:#526073; color:#e4edf9; height:43px; }.quantity-control input { height:43px; }.quantity-control>span { color:#a5b4c9; }
.product-detail { grid-template-columns:1fr 1.1fr; gap:40px; }
.detail-image { border:0; border-radius:0; background:#b5b8bb; padding:25px; }.detail-image img { height:355px; mix-blend-mode:multiply; }
.image-caption { color:#939ead; }
.product-heading h1 { color:#edf1f7; font-size:32px; font-weight:500; }
.product-heading .sku,.sku { color:#a0aec1; }.product-summary { color:#b5c0d0; }
.product-highlights { border-color:#465366; padding:17px 0; }.product-highlights strong { color:#d8e3f3; }.product-highlights span { color:#97a8bf; }
.detail-price strong { color:#e5ecf6; }.detail-price span,.detail-price small { color:#9eacc1; }
.volume-table th,.spec-table th { background:#252e3b; color:#c2cfe1; }.volume-table td,.spec-table td { color:#d6e0ed; }
.volume-table th,.volume-table td,.spec-table th,.spec-table td { border-color:#465366; padding:11px; }.volume-table caption { color:#a0b0c7; }
.product-section-nav { border-color:#465366; }.product-information h2,.product-information h3 { color:#dfe8f5; }.product-information p,.product-information li { color:#acbad0; }
.related-products { border-color:#465366; margin-top:30px; padding-top:25px; }.related-products .product-card { max-width:none; }.related-products .product-card-body { grid-template-columns:minmax(200px,1.3fr) minmax(150px,1fr) 155px; }
.guide-layout aside,.help-layout aside { background:#212a37; }.step-number { color:#a9bdd9; }.steps>section,.faq-list section { border-color:#465366; }.steps p,.faq-list p { color:#acbad0; }
.quote-summary { background:#232c3a; }.quote-item { border-color:#465366; }.quote-item p,.quote-item .field { color:#a8bad3; }.quote-item .item-notes { background:#263345; color:#ccd8e9; }
.quote-summary .notice,.notice { background:#253348; border-color:#4b6484; color:#c8d9ef; border-radius:0; }.error,.basket-error { color:#ffb6b6; }.muted,.saved-note { color:#9bacc4; }
.summary-total { border-color:#52647e; }.summary-total strong { color:#e3ebf6; }.saved-requirements { border-color:#465366; }.saved-requirements summary { color:#a9c9f1; }.saved-requirements dt { color:#9cabc1; }.saved-requirements dd { color:#d3deed; }
.requirements-record { background:#263245; color:#d0deef; }.invoice-source { border-color:#465366; background:#1e2734; }
.admin-table th { background:#263245; color:#aebed3; }.admin-table td { color:#d4deec; }.admin-table th,.admin-table td { border-color:#465366; }.admin-nav { border-color:#465366; }
.status-badge { border-radius:0; background:#354154; color:#dae3ef; }.status-sent,.status-paid { background:#304335; color:#c6e3c4; }.status-pending,.status-issued { background:#493d2b; color:#f0d7ae; }.status-failed,.status-cancelled { background:#492e35; color:#f0bcc8; }
dialog#quote-detail { background:#202a38; color:#d6e2f3; border:1px solid #607591; border-radius:0; }dialog#quote-detail::backdrop { background:#080d16cf; }
.invoice-paper { background:#1e2734; color:#e0e8f4; border:1px solid #52647d; border-radius:0; }.invoice-paper p { color:#becde2; }.invoice-heading { border-color:#8199b9; }.invoice-lines th { background:#354964; color:#f1f5fb; }.invoice-lines td { border-color:#52647d; }.invoice-totals .invoice-grand-total { color:#e5eefb; border-color:#8199b9; }.invoice-payment { border-color:#52647d; }
.site-footer { margin-top:28px; padding:28px 0; border-top:1px solid #4b5666; }.footer-links strong { color:#e0e8f4; font-size:18px; margin-right:auto; }.site-footer>p,.footer-bottom { color:#94a4bc; }.footer-links { gap:23px; }
.toast { background:#d7e2f2; color:#15243a; border:0; border-radius:0; box-shadow:none; }
:focus-visible { outline:2px solid #a9c9f1; outline-offset:3px; }
@media(max-width:1000px) {
 .container { width:calc(100% - 44px); }.site-search input { width:165px; }
 .product-card { grid-template-columns:125px minmax(0,1fr); gap:20px; }.product-image img { height:115px; }
 .product-card-body,.related-products .product-card-body { grid-template-columns:minmax(160px,1fr) 155px; }.card-specifications { grid-column:1; grid-row:3; border:0; padding:0; max-width:260px; }.card-price { grid-column:2; grid-row:1/3; }.product-action { grid-column:2; grid-row:3; }
 .custom-layout { grid-template-columns:1fr; }.custom-layout aside { display:grid; grid-template-columns:1fr 1fr; gap:25px; }.custom-help { padding:0; margin:0; }
 .catalogue-layout { grid-template-columns:135px minmax(0,1fr); gap:22px; }.catalogue-layout .product-card { grid-template-columns:100px minmax(0,1fr); }.catalogue-layout .product-card-body { grid-template-columns:1fr; }.catalogue-layout .card-price,.catalogue-layout .product-action { grid-column:1; grid-row:auto; text-align:left; }
}
@media(max-width:700px) {
 .container { width:calc(100% - 32px); }.header-main { flex-wrap:wrap; gap:16px; padding:21px 0; min-height:0; }.brand { font-size:24px; }.brand-description { display:none; }.header-quote { margin-left:auto; font-size:12px; }.site-search { width:100%; order:3; margin:0; }.site-search input { flex:1; width:0; }
 .main-nav { flex-wrap:wrap; gap:0 22px; }.main-nav a { white-space:nowrap; font-size:12px; }
 .home-intro { grid-template-columns:1fr; gap:20px; padding:28px 0; }.home-intro h1 { font-size:29px; }.home-intro p { font-size:13px; }.home-intro .intro-minimum { font-size:11px; }
 .product-card,.catalogue-layout .product-card { grid-template-columns:95px minmax(0,1fr); gap:17px; padding:20px 0; align-items:start; }.product-image img { height:90px; }.product-card-body,.related-products .product-card-body,.catalogue-layout .product-card-body { grid-template-columns:1fr; }.product-card h3 { font-size:18px; }.card-specifications { max-width:none; }.card-price { grid-column:1; grid-row:4; text-align:left; padding-top:12px; }.card-price strong { display:inline; font-size:21px; }.card-price small { display:inline; margin-left:8px; }.product-action { grid-column:1; grid-row:5; text-align:left; }
 .catalogue-layout { grid-template-columns:1fr; }.shop-sidebar { display:flex; flex-wrap:wrap; gap:10px 20px; border:0; padding:0; }.shop-sidebar h2 { width:100%; margin:0; border:0; padding:0; }.shop-sidebar>a { padding:0; }.shop-sidebar .sidebar-help { display:none; }
 .page-intro h1,.product-heading h1 { font-size:27px; }.page-intro p { font-size:13px; }.product-detail,.product-information { grid-template-columns:1fr; gap:25px; }.detail-image img { height:275px; }.product-section-nav { gap:14px; }
 .custom-layout aside { grid-template-columns:1fr; }.requirements-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.field input,.field select,.field textarea { font-size:16px; }.panel { padding:20px; }.custom-form { padding:0; }
 .footer-links { gap:14px; }.footer-links strong { width:100%; }.invoice-paper { padding:20px; }
}
@media(max-width:420px) { .requirements-grid,.product-purchase .requirements-grid,.field-row { grid-template-columns:1fr; }.product-card,.catalogue-layout .product-card { grid-template-columns:75px minmax(0,1fr); gap:14px; }.product-image { padding:5px; }.product-image img { height:75px; }.card-price small { display:block; margin-left:0; }.brand { font-size:22px; } }
