:root{--hover-blue:#0066cc;--hover-soft:#f1f7ff;--hover-line:#9bc7f5}
/* Uniform premium hover language */
.clean-card,.provider-card,.module,.result-box,.resource-item,.ds-service-card,.elite-calc,.elite-gallery img,.inventory-card,.store-card,.business-tab-panel,.recycling-card,.card,.service-card,.d1-products article,.d1-path-grid>a,.d1-promo{transition:transform .22s ease,background-color .22s ease,border-color .22s ease,box-shadow .22s ease,color .22s ease}
.clean-card:hover,.provider-card:hover,.resource-item:hover,.ds-service-card:hover,.elite-calc:hover,.inventory-card:hover,.store-card:hover,.business-tab-panel:hover,.recycling-card:hover,.card:hover,.service-card:hover,.d1-products article:hover,.d1-path-grid>a:hover{transform:translateY(-4px);background:var(--hover-soft)!important;border-color:var(--hover-line)!important;box-shadow:0 14px 32px rgba(0,102,204,.11)!important}
.btn-primary,.btn-secondary,.ds-home-button,.elite-btn,.d1-btn,.mini-tabs button,.elite-service-tabs a,.text-link,.clean-card a,.provider-card a{transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}
.btn-primary:hover,.btn-secondary:hover,.ds-home-button:hover,.elite-btn:hover,.d1-btn:hover,.mini-tabs button:hover,.elite-service-tabs a:hover{background:var(--hover-blue)!important;color:#fff!important;border-color:var(--hover-blue)!important;transform:translateY(-1px)}
.d1-nav a:hover,.text-link:hover,.clean-card a:hover,.provider-card a:hover{color:var(--hover-blue)!important}
/* Component motif rail used on interior pages */
.component-rail{max-width:1440px;margin:0 auto;padding:10px 52px 24px;display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.component-chip{height:64px;border:1px solid #e2e2e5;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;gap:9px;color:#6e6e73;font-size:11px;font-weight:650;transition:.2s}.component-chip:hover{background:var(--hover-soft);border-color:var(--hover-line);color:var(--hover-blue);transform:translateY(-3px);box-shadow:0 9px 24px rgba(0,102,204,.09)}.component-chip svg{width:31px;height:31px;stroke:currentColor;fill:none;stroke-width:1.8}.component-chip strong{color:#1d1d1f}.component-chip:hover strong{color:var(--hover-blue)}
/* Elite becomes a storefront-style landing page */
.elite-page .elite-visual-hero{height:260px!important;background:#f5f5f7!important}.elite-page .elite-visual-hero img{height:100%!important;width:100%!important;object-fit:cover!important}.elite-page .elite-services{padding:28px 0!important;background:#fff!important}.elite-page .elite-heading{max-width:900px;margin-bottom:18px}.elite-page .elite-heading h1{font-size:34px!important;margin:5px 0 8px!important}.elite-page .elite-service-tabs{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important;margin:0 0 18px!important}.elite-page .elite-service-tabs a{text-align:center;border:1px solid #d2d2d7;border-radius:999px;padding:10px!important;color:#1d1d1f!important;background:#fff!important;text-decoration:none}.elite-page .elite-calculator-grid{grid-template-columns:repeat(3,1fr)!important;gap:14px!important}.elite-page .elite-calc{min-width:0}.elite-page .elite-calc>img{height:135px!important;object-fit:cover!important}.elite-page .elite-calc-body{padding:18px!important}.elite-page .elite-calc h2{font-size:20px!important}.elite-page .elite-gallery-section{padding:18px 0 28px!important}.elite-page .elite-gallery{grid-template-columns:1fr 1fr!important}
@media(max-width:900px){.component-rail{padding:10px 20px 22px;grid-template-columns:repeat(3,1fr)}.elite-page .elite-service-tabs,.elite-page .elite-calculator-grid{grid-template-columns:1fr!important}}
@media(max-width:560px){.component-rail{grid-template-columns:repeat(2,1fr)}.component-chip span{display:none}}

/* diode7 final refinement pass */
/* Shop: provider-first 3x2 composition */
.provider-shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}.provider-shop-grid .clean-card{min-height:280px;padding:22px!important;position:relative;overflow:hidden}.provider-shop-grid .clean-card:after,.module:after,.resource-item:after{content:"";position:absolute;right:-35px;top:-20px;width:180px;height:140px;opacity:.32;pointer-events:none;background:repeating-radial-gradient(ellipse at 100% 0%,transparent 0 9px,rgba(0,102,204,.18) 10px 11px,transparent 12px 18px)}.provider-shop-card{background:linear-gradient(145deg,#fff 65%,#f1f7ff)!important}.provider-logo-line{height:90px;display:flex;align-items:center;gap:14px}.provider-logo-line .d1-mark{transform:scale(.82);transform-origin:left center}.provider-logo-line>b{font-size:18px;letter-spacing:.04em}.provider-logo-img{height:105px!important;width:100%!important;object-fit:contain!important}.provider-orbit{height:95px;display:flex;align-items:center;justify-content:center;gap:18px;color:#0066cc;font-size:32px}.provider-orbit b{width:64px;height:64px;border-radius:50%;background:#fff;box-shadow:0 8px 24px rgba(0,102,204,.12);display:grid;place-items:center;color:#1d1d1f;font-size:20px}.provider-shop-grid .clean-card>a{display:inline-block;margin-top:auto;color:#0066cc;font-weight:700}.provider-shop-grid .clean-card h3{margin-top:8px}
/* Business IT: boxed controls, line motif, polished summary */
.module{position:relative;overflow:hidden;background:linear-gradient(135deg,#f5f7fa,#f8fbff)!important;border:1px solid #e4eaf2!important;box-shadow:0 12px 34px rgba(17,45,78,.06);padding:24px!important}.module:after{width:360px;height:270px;right:-50px;top:-45px;opacity:.5}.module-grid{position:relative;z-index:1}.form-grid label,.date-time label{font-weight:700;color:#1d1d1f}.form-grid select,.form-grid input,.date-time input,.date-time select{display:block;width:100%;box-sizing:border-box;margin-top:8px;min-height:54px;border:1px solid #d6dce5!important;border-radius:12px!important;background:#fff!important;padding:0 15px!important;font:inherit;box-shadow:0 2px 8px rgba(17,45,78,.03)}.date-time{gap:14px!important;margin-top:16px!important}.date-time label{background:transparent!important;border:0!important;padding:0!important}.result-box{position:relative;z-index:2;background:rgba(255,255,255,.94)!important;border:1px solid #dce3eb!important;border-radius:18px!important;box-shadow:0 10px 30px rgba(17,45,78,.06)!important}.result-box:after{content:"";position:absolute;right:0;bottom:0;width:210px;height:170px;opacity:.3;background:repeating-radial-gradient(ellipse at 100% 100%,transparent 0 9px,rgba(0,102,204,.22) 10px 11px,transparent 12px 18px);pointer-events:none}.estimate-row{position:relative;z-index:2}.rough-estimate{font-size:20px!important;font-weight:800!important;color:#0066cc!important}.discount-badge{background:#eaf7ed!important;color:#146c2e!important;border:1px solid #c5e6cd!important}
/* Elite: logo-led hero, no showroom photograph; all three cards visible */
.elite-page .elite-visual-hero.elite-logo-hero{height:190px!important;background:linear-gradient(135deg,#fff 0%,#f5f7fa 72%,#eef6ff 100%)!important;border-bottom:1px solid #e5e5e7;display:grid;place-items:center;overflow:hidden;position:relative}.elite-logo-stage{width:min(1100px,90%);height:100%;display:grid;place-items:center;position:relative}.elite-logo-stage>img{width:min(460px,55vw)!important;height:auto!important;object-fit:contain!important;position:relative;z-index:2}.elite-line-art{position:absolute;inset:-20% -5%;opacity:.65;background:repeating-radial-gradient(ellipse at 78% 55%,transparent 0 15px,rgba(0,102,204,.14) 16px 17px,transparent 18px 28px)}.elite-page .elite-services{padding:20px 0!important}.elite-page .elite-heading{margin-bottom:12px!important}.elite-page .elite-heading p:last-child{margin-bottom:0}.elite-page .elite-calculator-grid{align-items:stretch}.elite-page .elite-calc>img{height:105px!important}.elite-page .elite-calc-body{padding:15px!important}.elite-page .elite-calc label{margin-top:8px!important}.elite-page .elite-result{margin-top:10px!important}.elite-page .elite-gallery-section{display:none!important}
/* Resource cards: clearer component identity and guide action */
.resource-item{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff 72%,#f7faff)!important}.resource-item .resource-visual{position:relative;z-index:1}.resource-copy{position:relative;z-index:2}.resource-link{display:inline-block;margin-top:10px;color:#0066cc;text-decoration:none;font-weight:700}.resource-item:hover .resource-link{color:#0051a8}

/* One continuous line field belongs to the page, behind its content. */
.page-main{background-color:#f9fbff;background-image:repeating-radial-gradient(ellipse 760px 390px at 84% 32%,transparent 0 25px,rgba(38,116,225,.13) 26px 27px,transparent 28px 48px)}
.provider-shop-grid .clean-card::after,.module::after,.resource-item::after,.result-box::after,.biz-summary::after,.wave-bg::after{content:none!important}
.elite-line-art{display:none}
@media(max-width:900px){.provider-shop-grid{grid-template-columns:1fr!important}.elite-page .elite-visual-hero.elite-logo-hero{height:150px!important}}

/* Continuous blue field on both partner pages. The art sits behind content. */
.digital-storefronts-page,.elite-page{background-color:#f9fbff;background-image:repeating-radial-gradient(ellipse 760px 390px at 84% 32%,transparent 0 25px,rgba(38,116,225,.13) 26px 27px,transparent 28px 48px);background-attachment:fixed}
.digital-storefronts-page .elite-line-art,.elite-page .elite-line-art{display:none}
.d1-header,.d1-navrow{position:relative;z-index:100}
.d1-search{position:relative;z-index:110;overflow:visible!important}
.site-search-results{position:absolute;top:calc(100% + 7px);left:0;right:0;max-height:350px;overflow:auto;background:#fff;border:1px solid #b8cfee;border-radius:14px;box-shadow:0 18px 40px #102d5660;z-index:9999;padding:7px}
.site-search-results[hidden]{display:none}
.site-search-results a,.site-search-results span{display:block;padding:10px 12px;color:#10233e;text-decoration:none;border-radius:8px;font-size:14px}
.site-search-results a:hover,.site-search-results a:focus{background:#eaf3ff;outline:none}
.digital-storefronts-page .ds-storefront-main,.digital-storefronts-page .ds-services-section,.elite-page .elite-services{background:transparent!important}
.digital-storefronts-page .ds-service-card,.elite-page .elite-calc{background:#fff}

/* Search results need their own width even when the header compresses. */
.d1-search{flex:0 0 250px;min-width:220px;box-sizing:border-box}
.d1-search input{min-width:0;font-size:14px}
.site-search-results{left:auto;right:0;width:min(380px,calc(100vw - 24px));box-sizing:border-box;white-space:normal;overflow-x:hidden;overflow-y:auto}
.site-search-results a,.site-search-results span{white-space:normal;overflow-wrap:anywhere;line-height:1.35}
@media(max-width:1100px){.d1-search{flex-basis:220px}}

/* Canadian identity and visible locale navigation across marketplace pages. */
.d1-header{position:relative}
.site-locale{position:absolute;right:max(12px,calc((100vw - 1540px)/2));bottom:3px;z-index:140;display:flex;align-items:center;gap:5px;padding:2px 7px;border-radius:20px;background:#fff;border:1px solid #dce8f7;color:#42536e;font-size:11px;line-height:1}
.site-locale a{color:#24558e;text-decoration:none;font-weight:700;padding:3px;border-radius:3px}
.site-locale a.active,.site-locale a[aria-current]{background:#0766d7;color:#fff}
.canada-flag{font-size:18px;line-height:1;display:inline-block;margin-right:3px}
.ds-language-switch{display:flex;align-items:center;gap:6px}
@media(max-width:700px){.site-locale{right:8px;bottom:3px}.d1-header{min-height:86px}}
