/* Shared homepage design language. Keep header geometry and page-specific layouts intact. */
:root{--ui-line:#dce3eb;--ui-soft:#f3f5f7;--ui-muted:#5e6b79;--ui-radius:8px;--ui-control-radius:6px}
.store-body{--surface-shadow:none;--gloss-surface:#fff;--gloss-shadow:none;--gloss-border:var(--ui-line);background:var(--ui-soft)}
.store-body #main{background:var(--ui-soft);color:var(--shop-ink,#172b42)}
/* Flat surfaces: subtle borders instead of reflections, blur or raised highlights. */
:is(.store-body,.ops-body) #main :is(.panel,.product-card,.article-card,.category-directory-card,.application-tile,.faq-link-card,.review-card,.account-group,.account-order-card,.workspace-card,.overview-metric,.editorial-prose,.editorial-sources,.career-application,.policy-copy,.reading-contents,.request-message-card){background:#fff;background-image:none!important;border-color:var(--ui-line);border-radius:var(--ui-radius)!important;box-shadow:none!important;backdrop-filter:none;transform:none}
.store-body #main :is(.detail-info,.product-gallery,.gallery-main,.purchase-price,.cart-summary,.checkout-summary,.checkout-address-book,.selected-address-card,.rating-overview,.catalogue-filter,.filter-panel,.flow-steps,.detail-trust,.product-section-nav,.delivery-card,.review-form-panel,.reviews-empty,.account-shopping-section,.shopping-bom,.category-help,.enquiry-guide,.upload-zone,.bom-example,.contact-card,.contact-detail,.contact-method,.payment-choice){background-image:none!important;box-shadow:none!important;border-radius:var(--ui-radius)}
.store-body #main :is(.catalogue-filter,.filter-panel,.cart-summary,.checkout-summary,.checkout-address-book,.delivery-card,.review-form-panel){background-color:#fff}
.store-body #main :is(.selected-address-card,.rating-overview,.detail-trust,.reviews-empty,.shopping-bom,.category-help,.enquiry-guide,.upload-zone){background-color:#f1f6fb}
.store-body #main :is(.catalogue-filter>summary,.checkout-details>summary,.reading-contents>summary,.filter-count,.faq-expand,.review-avatar,.review-score,.mini-section-heading>span,.flow-steps b,.section-icon,.category-subcategories a,.shopping-shortcut-icon){background-image:none!important;box-shadow:none!important}
.store-body #main .catalogue-filter>summary{background:#fff;color:var(--navy)}
.store-body #main :is(.faq-expand,.review-avatar,.mini-section-heading>span,.shopping-shortcut-icon){background:#eaf3fd;color:#1468b1}
.store-body #main .review-score{background:#fff4d7;color:#765009}
.store-body #main .rating-overview{border:1px solid var(--ui-line);color:var(--navy)}
.store-body #main .rating-overview :is(strong,p,small){color:inherit}
.store-body #main :is(.catalogue-faq-item,.catalogue-faq-list details){background:#fff!important;box-shadow:none!important;border:1px solid var(--ui-line);border-radius:var(--ui-radius)!important}
.store-body #main :is(.catalogue-faq-item,.catalogue-faq-list details)[open]{border-color:#92b9de}
.store-body #main :is(.public-hero,.faq-hero,.editorial-header,.category-directory-header,.page-heading,.workflow-heading){background-image:none!important;box-shadow:none!important;backdrop-filter:none}
.store-body #main :is(.faq-hero,.public-hero,.reading-page .editorial-header){background:#fff;border:1px solid var(--ui-line);border-radius:var(--ui-radius)!important;padding:24px}
.store-body #main :is(.page-heading,.workflow-heading,.category-directory-header){background:none;border:0;padding:0 0 22px;margin:0;gap:16px}
.store-body #main :is(.page-heading,.workflow-heading,.category-directory-header,.public-hero,.faq-hero,.editorial-header) h1{font-size:28px;line-height:1.3;letter-spacing:-.45px;color:var(--navy);margin:0 0 8px;overflow-wrap:anywhere}
.store-body #main :is(.page-heading,.workflow-heading,.category-directory-header,.public-hero,.faq-hero,.editorial-header) p{font-size:14px;line-height:1.7;color:var(--ui-muted);max-width:760px}
.store-body #main :is(.panel,.account-shopping-section,.career-application,.editorial-sources)>:is(h2,h3){font-size:20px;line-height:1.4;color:var(--navy)}
.store-body #main .section-heading h2{font-size:21px;line-height:1.4}
.store-body #main .section-heading>a{background:none;border:0;box-shadow:none;padding:8px 0;min-height:40px;display:inline-flex;align-items:center;font-size:12px;line-height:1.5;white-space:normal;flex-shrink:0}
/* A single action style, with semantic secondary, destructive and added states. */
:is(.store-body,.ops-body) :is(#main,.footer-newsletter-band,.request-feedback-dialog,.filter-dialog) .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;padding:10px 16px;border:1px solid var(--blue);border-radius:var(--ui-control-radius)!important;background:var(--blue);background-image:none!important;color:#fff;font-size:13px;font-weight:650;line-height:1.5;text-align:center;text-shadow:none!important;box-shadow:none!important;white-space:normal;overflow-wrap:anywhere;transform:none;filter:none;transition:background-color .15s,border-color .15s}
:is(.store-body,.ops-body) :is(#main,.footer-newsletter-band,.request-feedback-dialog,.filter-dialog) .btn.secondary{background:#fff;border-color:#c6d3df;color:var(--navy)}
:is(.store-body,.ops-body) :is(#main,.footer-newsletter-band,.request-feedback-dialog,.filter-dialog) .btn.ghost{background:transparent;border-color:transparent;color:#1268b1}
:is(.store-body,.ops-body) #main :is(.btn.danger,.btn.cart-remove){background:#fff3f3;border-color:#e8c5c5;color:#a02334}
.store-body #main .btn.is-added{background:#e7f5ec;border-color:#a8d1b7;color:#216940}
@media(hover:hover){:is(.store-body,.ops-body) :is(#main,.footer-newsletter-band,.request-feedback-dialog,.filter-dialog) .btn:hover{background:#066bc8;border-color:#066bc8;color:#fff;box-shadow:none!important;transform:none;filter:none}.store-body #main .btn.is-added:hover{background:#d7eddf;border-color:#83b99a;color:#175a34}:is(.store-body,.ops-body) #main .btn.secondary:hover{background:#eef5fc;border-color:#8cb2d4;color:var(--navy)}}
:is(.store-body,.ops-body) :is(#main,.footer-newsletter-band,.request-feedback-dialog,.filter-dialog) .btn:disabled{opacity:.6;cursor:not-allowed}
:is(.store-body,.ops-body) :is(#main,.footer-newsletter-band,.request-feedback-dialog,.filter-dialog) :is(.btn,input,select,textarea,summary,a,button):focus-visible{outline:2px solid #135fa3;outline-offset:3px}
/* Inputs have identical edges, comfortable touch sizes and no inset shine. */
:is(.store-body,.ops-body) :is(#main,.footer-newsletter-band,.filter-dialog) :is(.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,input.input,select.input,textarea.input){min-height:44px;max-width:100%;min-width:0;border:1px solid #bacbdc;border-radius:var(--ui-control-radius);background:#fff;background-image:none!important;box-shadow:none!important;color:#233a50;font-size:14px;line-height:1.5;padding:10px 12px}
:is(.store-body,.ops-body) #main .field textarea{min-height:120px;resize:vertical}
:is(.store-body,.ops-body) #main .field>span{font-size:12px;line-height:1.5;font-weight:600}
.store-body #main :is(.editorial-categories,.pill-list,.active-filter-summary){gap:8px}
.store-body #main :is(.editorial-categories,.pill-list) a{background-image:none!important;box-shadow:none!important;border-radius:5px;min-height:40px;display:inline-flex;align-items:center}
.store-body #main .auth-shell{border-radius:8px;box-shadow:none;border:1px solid var(--ui-line);overflow:hidden;background:#fff}
.store-body #main .auth-aside{background:var(--navy);box-shadow:none}
.store-body #main .auth-aside::before,.store-body #main .auth-aside::after{content:none}
.store-body #main .auth-form{background:#fff;border:0;box-shadow:none;border-radius:0}
.store-body #main :is(.editorial-figure,.editorial-figure img){border-radius:8px;background-image:none;box-shadow:none}
.store-body #main .detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.store-body #main .detail-actions form:first-child{grid-column:auto}
.store-body #main .detail-actions .btn{width:100%}
.store-body #main .product-card .card-purchase .btn{font-size:12px;padding:9px 8px;min-height:44px}
.store-body #main .purchase-form>.btn{min-height:48px}
.store-body #main .quantity-control{height:48px;box-shadow:none;background:#fff;border-radius:6px}
.store-body #main .quantity-control input{background:#fff;box-shadow:none;font-size:16px}
.store-body #main .quantity-control button{box-shadow:none;background:#f1f6fb;min-height:44px}
.store-body #main :is(.request-message-card,.request-feedback-dialog),.request-feedback-dialog,.filter-dialog{background:#fff;background-image:none!important;border:1px solid var(--ui-line);border-radius:8px!important;box-shadow:0 8px 32px #08294e26}
.filter-dialog>header{background:#f3f7fb;box-shadow:none}
.store-body .footer-newsletter-band{background:#edf4fc;box-shadow:none}
.store-body .site-footer{background:var(--navy);background-image:none;box-shadow:none}
/* The one requested colour gradient: compact bulk-requirements banner. */
.store-body #main .home-content>.section:has(>.home-requirement-banner){padding:0;border:0;background:none}
.store-body #main .home-requirement-banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,290px);align-items:center;gap:36px;padding:32px 36px;min-height:0;border:1px solid #126eb6;border-radius:8px;background:linear-gradient(115deg,var(--navy) 0%,#10568f 58%,#087df1 100%);box-shadow:none;color:#fff}
.store-body #main .home-requirement-banner>div:first-child{display:block;min-width:0}
.store-body #main .home-requirement-banner>div:last-child{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:0}
.store-body #main .home-requirement-banner .eyebrow{display:block;margin:0 0 10px;color:#c5e3ff;font-size:10px;line-height:1.5;letter-spacing:1px}
.store-body #main .home-requirement-banner h2{margin:0 0 12px;color:#fff;font-size:28px;line-height:1.3;letter-spacing:-.4px;max-width:650px}
.store-body #main .home-requirement-banner p{margin:0;color:#e0edfa;font-size:14px;line-height:1.75;max-width:650px}
.store-body #main .home-requirement-banner .btn{width:100%;min-height:46px;background:#fff;border-color:#fff;color:#10528b;font-size:13px;padding:12px 16px}
.store-body #main .home-requirement-banner a:not(.btn){color:#fff;font-size:12px;line-height:1.6;padding:6px 0;text-align:center;text-decoration:underline;text-underline-offset:3px}
/* Preserve desktop columns, then stack at the point controls stop fitting. */
:is(.store-body,.ops-body) :is(#main,.footer-newsletter-band,.request-feedback-dialog,.filter-dialog) .btn{min-height:44px!important}
.store-body #main .cart-page .cart-quantity-form input[type=number]{width:104px;min-width:96px;max-width:110px;min-height:44px;padding:8px;font-size:16px}
.store-body #main .product-detail-page .purchase-form{grid-template-columns:144px minmax(0,1fr)}
.store-body #main .product-detail-page .quantity-control{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;width:100%;height:48px}
.store-body #main .product-detail-page .quantity-control input{width:100%;min-width:0;padding:4px;border:0;appearance:textfield;-moz-appearance:textfield;font-size:14px;text-align:center}
.store-body #main .quantity-control input::-webkit-inner-spin-button,.store-body #main .quantity-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.store-body #main .product-detail-page .quantity-control button{width:32px;min-width:32px;height:46px}
.ops-body #main .chart-bar{background:var(--blue);box-shadow:none}
.store-body #main .contact-page-heading{width:calc(100% - 52px);max-width:1280px;margin:22px auto 0;padding:22px}
.store-body #main .contact-page-heading>.container{width:100%;padding:0;margin:0;max-width:none}
@media(hover:hover){:is(.store-body,.ops-body) #main :is(.btn.danger,.btn.cart-remove):hover{background:#fbe1e4;border-color:#d89ba4;color:#861b2a}}
@media(max-width:900px){
 .store-body #main .home-requirement-banner{grid-template-columns:minmax(0,1fr);gap:22px;padding:26px}
 .store-body #main .home-requirement-banner>div:last-child{max-width:340px;width:100%}
 :is(.store-body,.ops-body) :is(#main,.footer-newsletter-band,.filter-dialog) :is(.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,input.input,select.input,textarea.input){font-size:16px}
 .store-body #main :is(.workflow-heading,.page-heading){flex-wrap:wrap}
}
@media(max-width:600px){
 .store-body #main :is(.page-heading,.workflow-heading,.category-directory-header,.public-hero,.faq-hero,.editorial-header) h1{font-size:24px;line-height:1.3}
 .store-body #main :is(.page-heading,.workflow-heading,.category-directory-header,.public-hero,.faq-hero,.editorial-header) p{font-size:13px;line-height:1.65}
 .store-body #main :is(.faq-hero,.public-hero,.reading-page .editorial-header){padding:18px}
 .store-body #main .section-heading{gap:10px;align-items:center;flex-wrap:wrap}
 .store-body #main .section-heading h2{font-size:18px}
 .store-body #main .section-heading>a{font-size:12px;min-height:40px}
 .store-body #main :is(.panel,.account-shopping-section,.career-application,.editorial-sources)>:is(h2,h3){font-size:18px}
 .store-body #main .home-requirement-banner{padding:22px 20px;gap:20px}
 .store-body #main .home-requirement-banner h2{font-size:23px;line-height:1.35}
 .store-body #main .home-requirement-banner p{font-size:13px;line-height:1.7}
 .store-body #main .home-requirement-banner>div:last-child{max-width:none}
 .store-body #main .home-requirement-banner .btn{font-size:13px}
 .store-body #main .detail-actions .btn{font-size:12px;padding:10px 8px}
 .store-body #main .product-detail-page .purchase-form{grid-template-columns:132px minmax(0,1fr)}
 :is(.store-body,.ops-body) #main :is(.toolbar,.filter-actions,.request-message-actions){flex-wrap:wrap;gap:10px}
 .store-body #main .auth-form{padding:22px 18px}
}
@media(prefers-reduced-motion:reduce){:is(.store-body,.ops-body) #main .btn{transition:none}}
