/* Shared appearance layer. Photography and technical artwork retain their original colours. */
:root{color-scheme:light}
.utility>div{gap:14px}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:61px;min-height:28px;padding:5px 9px;background:#f0f5f7;border:1px solid #c8d9e2;border-radius:20px;color:#254759;font:600 10px/1.2 'Segoe UI',Arial,sans-serif;cursor:pointer;flex-shrink:0;white-space:nowrap}
.theme-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .theme-sun{display:none}
.theme-toggle:hover{background:#e2eef3;border-color:#72a8bb}
.theme-toggle:focus-visible{outline:3px solid #008cad;outline-offset:3px}
@media screen{
html[data-theme=dark]{color-scheme:dark;--ink:#e4edf3;--muted:#a8bfce;--line:#334b5e;--warm:#142635;--navy:#142f49;--deep:#0c2133;--teal:#6acfe4;--aqua:#80dbe8;--olive:#accd88;--lime:#bad989;--theme-bg:#0c1925;--theme-surface:#122332;--theme-raised:#192e40;--theme-field:#0d1e2c;--theme-accent:#6acfe4;--theme-button:#087793;--theme-paper:#f5f8fa}
html[data-theme=dark] body{background:var(--theme-bg);color:var(--ink)}
html[data-theme=dark] :is(header,footer,#mega,#mainnav,.utility,.rfq-page .utility:before){background:var(--theme-surface);border-color:var(--line)}
html[data-theme=dark] .utility{color:var(--muted)}
html[data-theme=dark] .utility select{background:var(--theme-surface);color:var(--ink)}
html[data-theme=dark] .theme-toggle{color:#dcf4fa;background:#243e51;border-color:#46697f}
html[data-theme=dark] .theme-toggle:hover{background:#304f65}
html[data-theme=dark] .theme-toggle .theme-moon{display:none}
html[data-theme=dark] .theme-toggle .theme-sun{display:block}
html[data-theme=dark] .theme-toggle:focus-visible{outline-color:#8ae6f2}
/* The supplied dark lettering in the logo needs a neutral presentation surface. */
html[data-theme=dark] :is(.logo,.footer-top>div:first-child>img){background:#fff;border-radius:3px;padding:6px 8px}
html[data-theme=dark] :is(.skip-link,dialog,.catalogue-dialog){background:var(--theme-surface);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] :is(.text-hero,.muted-section,.range-section,.industries-section,.solution-panel,.marketing-divisions,.marketing-review-note,.review-limits,.local-note,.policy-layout>aside,.empty-panel,.account-entry,.payment-preview,.comparison-table th,.detail-order,.product-monogram){background:var(--theme-raised);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] :is(.range-card,.editorial-card,.range-products>article,.detail-tabs,.detail-table,.document-options>button,.designed-form,.marketing-division-card,.marketing-asset,.filter-pills button){background:var(--theme-surface);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] :is(.editorial-image,.marketing-card-image,.marketing-asset-image){background:var(--theme-raised)}
html[data-theme=dark] :is(.marketing-card-copy h3,.marketing-review-intro h1,.marketing-asset summary,.text-hero h1,.detail-table caption,.product-monogram,.typographic-product>b,.range-product-image>b){color:var(--ink)}
html[data-theme=dark] :is(.marketing-card-number,.marketing-card-copy p,.marketing-review-intro>p:not(.eyebrow),.marketing-body-copy,.marketing-asset details,.marketing-review-footer>p,.footer-bottom){color:var(--muted)}
html[data-theme=dark] :is(.marketing-card-link,.marketing-review-actions>a:not(.button),.marketing-asset-tools a,.marketing-asset-tools button,.marketing-placements a){color:var(--theme-accent)}
html[data-theme=dark] :is(.marketing-card-link,.marketing-asset details,.marketing-review-footer,.marketing-division-card,.marketing-asset,.marketing-divisions){border-color:var(--line)}
html[data-theme=dark] .marketing-placements a{background:var(--theme-raised)}
html[data-theme=dark] .solution-tabs :is(button,a[data-solution]){background:transparent;color:var(--muted)}
html[data-theme=dark] .solution-tabs :is(button,a[data-solution])>span{color:var(--muted)}
html[data-theme=dark] .solution-tabs [aria-selected=true]{background:#17394b;color:var(--theme-accent)}
html[data-theme=dark] .solution-tabs :is(button,a[data-solution])[data-solution=defence][aria-selected=true]{background:#2a3d32;color:#c1dfa1;border-bottom-color:#accd88}
html[data-theme=dark] .filter-pills [aria-pressed=true]{background:#24485b;color:#dff8ff}
html[data-theme=dark] .detail-subtitle{color:var(--ink)!important}
html[data-theme=dark] :is(.text-link:hover,.map-group a:hover,.mega-inner a.mega-item:hover){color:#a2eafa}
/* Preserve strong button contrast while making text links brighter. */
html[data-theme=dark] .button{background:var(--theme-button);border-color:#3299ae;color:#fff}
html[data-theme=dark] .button:not(.ghost):not(.bright):not(.defence-button):hover{background:#095e78;border-color:#63bbcf}
html[data-theme=dark] :is(.button.secondary,.complete-page .secondary,.rfq-page .secondary,.finder-page .secondary){background:var(--theme-surface);color:var(--theme-accent);border-color:#48697b}
html[data-theme=dark] .button.secondary:hover{background:#213b4d!important;color:#a7edfa}
html[data-theme=dark] .button.bright{background:#80dbe8;color:#102b3c;border-color:#80dbe8}
html[data-theme=dark] .button.bright:hover{background:#a3e7ef;border-color:#a3e7ef}
html[data-theme=dark] .button.ghost{background:transparent;color:#fff;border-color:#8dacbd}
html[data-theme=dark] .button.ghost:hover{background:#ffffff15}
html[data-theme=dark] :is(.defence-button,.wide-cta .button,.utility-aside .button,.results-closing .button){background:#bfd78c;color:#203328;border-color:#bfd78c}
html[data-theme=dark] :is(.closing,.wide-cta,.page-hero:not(.text-hero),.enquiry-hero,.catalogue-hero,.brief-card,.rfq-process,.results-closing,.utility-aside){color:#f1f6fa}
/* Inputs, messages and selection states across enquiry, finder and retail pages. */
html[data-theme=dark] :is(input,select,textarea,.site-field input,.site-field select,.site-field textarea,.field input,.field select,.field textarea,.finder-field input,.finder-field textarea,.finder-field select,.site-search input,.cart-quantity input){color:var(--ink);background:var(--theme-field);border-color:#496477;accent-color:#62cde0}
html[data-theme=dark] :is(input,textarea)::placeholder{color:#8ea8bb;opacity:1}
html[data-theme=dark] :is(input,select,textarea):focus-visible{outline-color:#80dbe8}
html[data-theme=dark] :is(.rfq-page,.finder-page,.finder-page main){background:var(--theme-bg)}
html[data-theme=dark] :is(.rfq-primary,.rfq-selection,.division-choice,.finder-hero,.finder-progress,.finder-progress button,.finder-primary,.finder-choice,.solution-result){background:var(--theme-surface);border-color:var(--line)}
html[data-theme=dark] :is(.technical-later,.operation-note,.preview-notice,.file-zone,#mobile-selection-summary,#selector-context,.finder-explainer,.review-flags,.result-system){background:var(--theme-raised);border-color:var(--line)}
html[data-theme=dark] :is(.division-choice:hover,.division-choice:has(input:checked),.finder-choice:has(input:checked)){background:#1c3b50}
html[data-theme=dark] .division-choice.defence:has(input:checked){background:#263d31}
html[data-theme=dark] :is(.finder-choice>i,.finder-chips label>span,.file-button){background:var(--theme-field);color:var(--muted);border-color:#506b7c}
html[data-theme=dark] :is(.finder-choice:has(input:checked)>i,.division-choice:has(input:checked) i){background:#1189a7}
html[data-theme=dark] .finder-chips label:has(input:checked)>span{background:#1b4056;color:#8ae2f0;border-color:#4dacc0}
html[data-theme=dark] .finder-chips label:has(input[value=defence]:checked)>span{background:#2b4031;color:#c4dfaa}
html[data-theme=dark] .finder-progress button[aria-current=step]>span{background:#087793;color:#fff}
html[data-theme=dark] :is(.finder-progress button.complete>span,.confirmation-mark){background:#294330;color:#c2dfa8}
html[data-theme=dark] :is(.finder-intro h1,.finder-intro-aside>span,.finder-progress button[aria-current=step] div,.extra-details summary,.result-system li,#selector-context summary b){color:var(--ink)}
html[data-theme=dark] :is(.field label>span:not(#equipment-label),.field label em,.preview-notice span,.finder-progress button>span,.finder-progress button div,.finder-progress button small,.finder-field label>span,.division-fieldset legend>span,.question-group legend>span,.result-visual small,.result-family small){color:var(--muted)}
html[data-theme=dark] #exact-document-requests span{color:var(--muted)}
html[data-theme=dark] .finder-progress button[aria-current=step]>span{color:#fff!important}
html[data-theme=dark] :is(.finder-progress button>b,.review-flags>span){color:#b7d596}
html[data-theme=dark] #exact-document-requests button{color:var(--theme-accent)}
html[data-theme=dark] :is(.error-summary,.form-error-summary,.finder-errors){background:#452824;color:#ffd0bf;border-color:#b56f5b}
html[data-theme=dark] :is(.field-error,.site-field-error,.finder-field-error){color:#ffb8a4!important}
/* Product catalogue and specification/document layouts. */
html[data-theme=dark] :is(.browse-strip,.catalogue-assist,.catalogue-sidebar,.catalogue-search,.active-filters button,.empty-state,.preview-foot,.project-visual,.missing-document-request,.seo-preview,.content-spec-table caption){background:var(--theme-raised);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] :is(.product-card,.result-heading select,.filter-block select,.load-more,.mobile-filter-toggle,.spec-scroll,.product-related>a,.group-tab[aria-pressed=true],.group-tab:hover){background:var(--theme-surface);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] .catalogue-search input{background:transparent}
html[data-theme=dark] :is(.category-filter:hover,.category-filter[aria-pressed=true],.product-application-tags a,.document-kind){background:#1c3b4d;color:#a3e7f2;border-color:#446879}
html[data-theme=dark] .product-application-tags a:hover{background:#285168}
html[data-theme=dark] :is(.content-spec-table tbody th,.content-spec-table caption,.model-mark,.selection-note b){color:var(--ink)}
html[data-theme=dark] .content-spec-table tbody tr:nth-child(even){background:#182e3f}
html[data-theme=dark] :is(.content-spec-table,.content-spec-table th,.content-spec-table td,.spec-scroll,.product-related>a,.technical-document){border-color:var(--line)}
html[data-theme=dark] :is(.product-card-actions a,.product-card-actions button,.filter-heading button,.reset-inline,.group-tab[aria-pressed=true],.group-tab span,.active-filters button,.load-more,.assist-links a:first-child,.quick-copy>.quick-shortlist,.document-kind,.mobile-filter-toggle,.seo-preview h3,.table-scroll-hint){color:var(--theme-accent)}
html[data-theme=dark] :is(.product-card-actions a:hover,.product-card-actions button:hover){color:#b0f0fb}
html[data-theme=dark] :is(.browse-strip>div>span,.group-tab,.category-filter span,.supplier-note,.supplier-note b,.catalogue-search svg,.result-heading p,.result-heading label,.product-category,.product-subtitle,.load-row p,.empty-state p,.assist-layout p:not(.eyebrow),.quick-copy p,.dialog-intro,.shortlist-items small,.shortlist-items button,.shortlist-items .mini-mark,.shortlist-empty,.review-notes p){color:var(--muted)}
html[data-theme=dark] :is(.document-access,.seo-preview small,.assist-links a:last-child){color:#b7d99a}
html[data-theme=dark] .sidebar-help{background:#25392d;color:#d8eac9}
html[data-theme=dark] :is(.sidebar-help .eyebrow,.sidebar-help p,.sidebar-help a){color:#c0d7af}
html[data-theme=dark] :is(.catalogue-dialog .close,.save-product){background:#233e52;color:#e1f0f8;border-color:#527084}
html[data-theme=dark] .save-product[aria-pressed=true]{background:#087793;color:white}
/* Keep product photos on a light studio backdrop; do not invert or tint image pixels. */
html[data-theme=dark] :is(.detail-photo,.range-product-image,.product-visual,.quick-visual,.am-product-image){background:var(--theme-paper)}
html[data-theme=dark] :is(.detail-photo>span,.detail-photo.typographic-product>b,.range-product-image>b,.image-label,.quick-visual small){color:#36566a}
html[data-theme=dark] .project-visual .model-mark{color:var(--ink)}
html[data-theme=dark] .project-visual{background:var(--theme-raised)}
html[data-theme=dark] .shortlist-open{color:var(--ink)}
html[data-theme=dark] .closing .eyebrow{color:#daf6fa}
/* Application map tokens and its interactive nodes, filters and relationships. */
html[data-theme=dark] .am{--am-ink:#e4edf3;--am-muted:#aac0cf;--am-line:#385269;--am-active:#73d3e5;--am-soft:#1a3344;--am-amber:#e7ba78;--am-olive:#b7d794;background:var(--theme-bg);color:var(--am-ink)}
html[data-theme=dark] :is(.am-toolbar,.am-path,.am-detail,.am-node-empty){background:var(--theme-raised);border-color:var(--am-line)}
html[data-theme=dark] :is(.am-filters,.am-node,.am-product-detail){background:var(--theme-surface);border-color:var(--am-line)}
html[data-theme=dark] .am-graph{background:linear-gradient(90deg,#112431,#132b3b)}
html[data-theme=dark] :is(.am-filters input,.am-filters select){background:var(--theme-field);color:var(--am-ink);border-color:#496477}
html[data-theme=dark] .am-node:hover{background:#1f3c50}
html[data-theme=dark] .am-node[aria-pressed=true]{background:#244859;border-color:#6acfe4}
html[data-theme=dark] .am-node.addition{background:#243b2d}
html[data-theme=dark] .am-node.addition[aria-pressed=true]{background:#355039;border-color:#b7d794}
html[data-theme=dark] :is(.am-roles span,.am-pairing button){background:#25485a;color:#d6edf5}
html[data-theme=dark] .am-roles span.unassigned{background:#2d3e4b;color:#c4d5df}
html[data-theme=dark] :is(.am-scope>span,.am-coverage-card>span){color:#b7d794}
html[data-theme=dark] .am-coverage-card.unmapped>span{color:#e7ba78}
html[data-theme=dark] :is(.am-source-tag,.am-path span,.am-column h2>span,.am-pairing button small){color:#adccde}
html[data-theme=dark] .am-original-label{color:#aec6d7!important}
html[data-theme=dark] .am-wire{stroke:#4b7087}
html[data-theme=dark] .am-wire.selected{stroke:#80dbe8}
html[data-theme=dark] .am-wire.addition{stroke:#b7d794}
html[data-theme=dark] :is(.am-workspace,.am-coverage-card,.am-source-section,.am-gap-list details){border-color:var(--am-line)}
}
@media(max-width:600px){.utility>div{gap:11px}.theme-toggle{min-width:29px;min-height:29px;padding:6px}.theme-toggle [data-theme-label]{display:none}}
@media print{.theme-toggle{display:none}}
