/* Focused catalogue, quotation and mobile account flow. */
.site-header .trade-bar{display:none}
.site-header nav{min-height:86px;gap:28px}
.site-header .home-link{flex-shrink:0}
.site-header .navlinks{order:2;gap:26px;flex:1;justify-content:flex-end}
.site-header .header-search{order:3;flex:0 1 215px;min-width:140px;max-width:215px;margin:0;border-radius:28px;min-height:44px;padding:9px 15px}
.site-header .navlinks .nav-signin{position:absolute;right:0;top:50%;transform:translateY(-50%);padding:11px 25px;border:1px solid #c5d2e5;border-radius:28px;background:#edf2fa;color:#294363;font-size:.85rem;min-height:44px;text-align:center}
.site-header nav{padding-right:0}
.site-header .navlinks a,.nav-resources summary{font-size:.875rem;font-weight:650}
.nav-resources{position:relative;white-space:nowrap}
.nav-resources summary{display:flex;align-items:center;gap:5px;cursor:pointer;list-style:none;padding:26px 0}
.nav-resources summary::-webkit-details-marker{display:none}
.nav-resources summary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.3}
.resources-menu{position:absolute;top:calc(100% - 5px);left:-18px;min-width:200px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 28px #283f6412}
.site-header .resources-menu a{display:block;padding:11px 12px;font-size:.82rem}
.site-header .resources-menu a:after,.site-header .nav-signin:after{display:none}
.resources-menu a:hover{background:#f3f6fb;border-radius:6px}
.catalogue-section{padding-top:38px;padding-bottom:42px;scroll-margin-top:110px}
.catalogue-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px;scroll-margin-top:110px}
.catalogue-heading h1{font-size:clamp(1.8rem,3vw,2.35rem);letter-spacing:-1px;margin:0 0 8px;line-height:1.2}
.catalogue-heading p{color:var(--muted);font-size:.92rem;margin:0}
.catalogue-search{max-width:320px;width:100%}
.catalogue-search input{width:100%;font:inherit;font-size:.85rem;border:1px solid #d7dfeb;background:#fafbfe;border-radius:28px;padding:13px 18px;min-width:0;outline-color:var(--focus)}
.catalogue-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:30px;align-items:start}
.catalogue-sidebar{border:1px solid var(--line);border-radius:16px;background:#fff;position:sticky;top:106px;overflow:hidden;max-height:calc(100dvh - 130px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c8d0dd transparent}
.filter-heading{display:flex;justify-content:space-between;align-items:center;padding:17px 19px;gap:12px;border-bottom:1px solid var(--line)}
.filter-heading h2{margin:0;font-size:1.05rem}
.filter-heading button{border:0;background:none;color:#527195;text-decoration:underline;font:inherit;font-size:.8rem;cursor:pointer}
.catalogue-sidebar details+details{border-top:1px solid var(--line)}
.catalogue-sidebar summary{font-size:.92rem;font-weight:650;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:17px 19px;cursor:pointer}
.catalogue-sidebar summary:after{content:'+';font-size:1.2rem;font-weight:400}.catalogue-sidebar details[open]>summary:after{content:'−'}
.category-options{display:flex;flex-direction:column;padding:0 9px 13px;gap:2px}
.category-options button{font:inherit;font-size:.84rem;text-align:left;padding:10px;border:0;border-radius:6px;color:#708097;background:none;cursor:pointer}
.category-options button.active{background:#eff3f9;color:#283d5c;font-weight:700}
.category-options button:hover{background:#f6f8fc;color:#283d5c}
.brand-options{display:grid;gap:15px;padding:0 19px 22px}.brand-options label{display:flex;align-items:center;gap:10px;font-size:.8rem;color:#66768d;cursor:pointer}.brand-options input{width:17px;height:17px;accent-color:#537092;flex-shrink:0}
.catalogue-results{min-width:0}.catalogue-toolbar{display:flex;justify-content:space-between;align-items:center;margin:0 0 15px;min-height:24px}
.catalogue-toolbar .filter-status{margin:0;font-size:.78rem;color:var(--muted)}
#catalogue-filter-toggle{display:none}
.content-page .product-grid,.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.content-page .product-card,.product-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:white;transition:border-color .2s,box-shadow .2s}
.product-card:hover{border-color:#c2cee0;box-shadow:0 5px 20px #283e6009}
.product-card .product-image{position:relative;height:220px;display:flex;justify-content:center;align-items:center;padding:18px 20px 26px;text-decoration:none;background:white}
.product-card .product-image img{width:100%;height:100%;object-fit:contain;transition:transform .25s}
.product-card .product-image-scene img{object-fit:cover;object-position:center 80%;border-radius:8px}
.product-photo-note{position:absolute;left:20px;bottom:7px;font-size:.6rem;line-height:1.4;color:#8a98ab;background:#fff;padding:1px 5px;border-radius:3px}
.product-card:hover .product-image img{transform:scale(1.025)}
.product-card-body{display:flex;flex-direction:column;padding:16px;flex:1;min-width:0}
.product-category{font-size:.65rem;letter-spacing:.25px;color:#8390a3;margin-bottom:8px}
.product-card h2{font-size:.9rem;font-weight:650;line-height:1.4;margin:0;letter-spacing:0;min-height:40px}
.product-brand{display:flex;align-items:center;min-height:40px;margin:6px 0 10px;overflow:hidden}
.product-brand .logo-mark{transform:scale(.5);transform-origin:left center;margin-right:-104px;margin-block:-20px}
.product-brand .logo-mark img{position:absolute;max-width:none;width:var(--mark-width);height:var(--mark-height);left:var(--mark-left);top:var(--mark-top);object-fit:fill}
.product-brand .brand-name{font-size:.72rem;color:#8290a3;font-weight:500}
.product-card .product-quote{display:flex;align-items:center;justify-content:center;border:1.5px solid #8c9fbb;color:#405c81;border-radius:28px;min-height:44px;font-size:.83rem;font-weight:650;text-decoration:none;margin-top:auto;padding:9px 8px}
.product-card .product-quote:hover{background:#f1f5fc;border-color:#536f98}
.product-card:not(:has(.product-brand)) .product-quote{margin-top:16px}
.catalogue-pagination button{border-radius:8px;border-color:var(--line);color:#536b8c;font-weight:600}.catalogue-pagination button[aria-current]{background:#edf2fa;color:#2c466b;border-color:#9eb2d0}
.catalogue-faq{padding-top:30px;padding-bottom:70px;max-width:990px}.catalogue-faq h2{text-align:center;font-size:clamp(1.45rem,2.7vw,2rem);letter-spacing:-.6px;margin:0 0 30px}
.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px;font-size:.93rem;font-weight:600;padding:22px 0}.faq-list summary:after{content:'+';font-size:1.3rem;color:#8696af;font-weight:400}.faq-list details[open]>summary:after{content:'−'}.faq-list p{font-size:.88rem;color:var(--muted);line-height:1.75;margin:0 32px 22px 0}.faq-list a{color:#3e5c86}
.quote-section{background:#f8faff}.quote-wrap{max-width:1220px}.quote-product-layout.has-product{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:28px;align-items:start}.selected-product{position:sticky;top:112px;padding:25px;background:white;border:1px solid var(--line);border-radius:18px}.quote-back{font-size:.78rem;text-decoration:none;color:#607798}.selected-product-image{height:280px;padding:24px 12px;display:flex;align-items:center;justify-content:center}.selected-product-image img{width:100%;height:100%;object-fit:contain}.selected-product>span{font-size:.72rem;color:#8a97aa}.selected-product h2{font-size:1.4rem;line-height:1.4;letter-spacing:-.3px;margin:8px 0}.selected-product p{font-size:.85rem;color:var(--muted);line-height:1.6}.selected-product .quote-secondary{margin-top:12px}.quote-sizes{border-bottom:1px solid var(--line);padding:15px 0}.quote-sizes summary{cursor:pointer;font-size:.82rem;font-weight:600;color:#536d92}.quote-sizes p{font-size:.75rem;color:var(--muted)}#quote-size-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}#quote-size-fields label{flex-direction:row;align-items:center;justify-content:space-between}#quote-size-fields input{width:90px;min-height:38px}.size-total{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.78rem;margin-top:16px}.quote-intro h1{font-size:2rem}.quote-intro .lead{font-size:.96rem}.quote-builder{border-radius:18px;padding:32px}.quote-builder h3{font-size:1.1rem}.quote-item-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-item{padding-block:22px}.quote-builder input,.quote-builder select,.quote-builder textarea{border-radius:8px;min-height:48px;background:#fcfdff;border-color:#d8e0ec}.quote-count{background:#f1f5fb;border-radius:20px}.quote-secondary{border-color:#d2dce9;border-radius:8px;color:#496184;font-size:.83rem}.quote-list-footer{padding-top:18px}.quote-list-footer p{display:none}.quote-details-title{border-top:1px solid var(--line);padding-top:26px;margin-top:28px;margin-bottom:0}.quote-details{border:0}.quote-submit{align-items:center}.quote-review{border-radius:10px;border-left:1px solid var(--line)}
.attachment-field>label,.upload-heading{font-size:.85rem;font-weight:600}.attachment-field>label span,.upload-heading span{font-weight:400;color:#8390a3;font-size:.75rem}.attachment-field p{color:var(--muted);font-size:.75rem;line-height:1.6;margin:9px 0}.attachment-field input[type=file]{font:inherit;font-size:.8rem;max-width:100%}.upload-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.upload-heading h3{margin:0}.quote-builder .upload-drop{position:relative;display:flex;align-items:center;flex-direction:column;gap:6px;border:1px dashed #bccbdf;border-radius:12px;padding:23px 18px;background:#fafcff;cursor:pointer;overflow:hidden}.upload-drop svg{width:27px;height:27px;color:#6885ac;margin-bottom:5px}.quote-builder .upload-drop span{display:block;font-size:.76rem}.upload-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-drop:focus-within{outline:2px solid var(--focus);outline-offset:2px}.attachment-preview{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:9px;padding:12px;background:#fff}.attachment-preview img{width:72px;height:60px;object-fit:contain;border-radius:4px}.attachment-preview span{font-size:.8rem;overflow-wrap:anywhere;flex:1}.attachment-preview button{border:0;background:none;color:#607798;font:inherit;font-size:.78rem;padding:10px;cursor:pointer}.quote-attachment{margin-top:0}
.account-main{padding-block:28px 60px}.signin-layout{display:grid;grid-template-columns:1.05fr 1fr;min-height:660px;gap:80px;align-items:center}.signin-art{position:relative;align-self:stretch;overflow:hidden;border-radius:20px}.signin-art>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.signin-art-caption{position:absolute;bottom:0;left:0;right:0;padding:110px 34px 34px;background:linear-gradient(transparent,#f1f4fbe8)}.signin-art-caption span{font-size:.68rem;letter-spacing:1.5px;color:#677890;display:block;margin-bottom:10px}.signin-art-caption strong{font-size:1.6rem;font-weight:600;letter-spacing:-.5px}.signin-content{max-width:520px;padding:20px 0}.signin-content h1{font-size:clamp(1.8rem,2.4vw,2.4rem);letter-spacing:-1px;line-height:1.3;margin:0 0 12px}.signin-content>p{font-size:1rem;color:var(--muted);margin:0 0 48px}.signin-content .platform-form{gap:24px}.signin-content .phone-input{display:flex;border:1px solid #d2dbea;border-radius:12px;overflow:hidden;min-height:60px;background:#f9fafc}.phone-input>span{font-size:.9rem;display:flex;align-items:center;justify-content:center;padding:0 20px;position:relative}.phone-input>span:after{content:'';height:26px;border-right:1px solid var(--line);position:absolute;right:0}.signin-content .phone-input input{border:0;min-width:0;flex:1;background:none;padding:18px;font-size:.95rem;border-radius:0}.phone-input:focus-within{outline:2px solid var(--focus);outline-offset:2px}.signin-content .phone-input input:focus{outline:0}.signin-content .signin-button{width:100%;border-radius:12px;min-height:56px;background:#405c81;border-color:#405c81;color:#fff;font-size:.95rem}.signin-button:hover{background:#344e71}.signin-consent{font-size:.73rem!important;line-height:1.7;color:#8390a3;margin:-8px 0 0}.signin-help{display:flex;justify-content:space-between;gap:18px;padding-top:25px;margin-top:32px;border-top:1px solid var(--line);font-size:.8rem}.signin-help a{color:#526d91;text-decoration:none}.signin-help a:hover{text-decoration:underline}.signin-content [data-phone-captcha]:empty{display:none}.phone-otp-form{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.account-main #customer-dashboard{padding-top:20px}.account-main>.platform-status{padding:10px 0;text-align:center}
@media(min-width:1600px){.content-page .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.catalogue-section{max-width:1600px}.catalogue-layout{gap:34px;grid-template-columns:255px minmax(0,1fr)}}
/* Keep the account link in the desktop layout so either label reserves its own width. */
@media(min-width:1101px){.site-header .navlinks{display:contents}.site-header .navlinks>a,.site-header .nav-resources{order:2;flex-shrink:0}.site-header .navlinks>a:first-child{margin-left:auto}.site-header .navlinks .nav-signin{order:4;position:static;transform:none;flex-shrink:0}}
@media(max-width:1250px) and (min-width:1101px){.site-header nav{gap:16px}.site-header .navlinks{gap:16px}.site-header .navlinks a,.nav-resources summary{font-size:.78rem}.site-header .header-search{max-width:165px}.site-header .navlinks .nav-signin{padding:10px 19px}}
@media(max-width:1100px){.site-header nav{padding-right:0;gap:20px}.site-header .header-search{order:2;margin-left:auto;max-width:250px}.site-header .menu-toggle{order:3}.site-header .navlinks{order:4;flex:none;justify-content:initial;gap:0}.nav-resources summary{padding:13px 12px;font-size:.875rem}.resources-menu{position:static;border:0;box-shadow:none;padding:0 0 8px 14px}.site-header .navlinks .nav-signin{position:static;transform:none;align-self:start;margin:10px 12px;padding:10px 22px}.catalogue-layout{grid-template-columns:210px minmax(0,1fr);gap:22px}.content-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-card .product-image{height:185px}.signin-layout{gap:40px;min-height:570px}.signin-content>p{margin-bottom:30px}.signin-art-caption{padding:80px 25px 25px}.signin-art-caption strong{font-size:1.2rem}}
@media(max-width:720px){.site-header nav{min-height:78px;gap:12px}.catalogue-section{padding-top:25px}.catalogue-heading{flex-direction:column;align-items:stretch;gap:18px;margin-bottom:20px}.catalogue-search{max-width:none}.catalogue-layout{display:flex;flex-direction:column;gap:0}.catalogue-results{width:100%}.catalogue-sidebar{display:none;position:static;width:100%;max-height:450px;margin-bottom:18px}.catalogue-sidebar.filters-open{display:block}.catalogue-toolbar{margin-bottom:15px}.catalogue-toolbar .filter-status{margin-left:auto}#catalogue-filter-toggle{display:block;border:1px solid #cbd7e8;border-radius:20px;background:white;padding:9px 19px;font:inherit;font-size:.78rem;color:#486080}.product-grid{gap:12px!important}.product-card .product-image{height:150px;padding:18px 14px 8px}.product-card-body{padding:13px}.product-card h2{font-size:.82rem;min-height:40px}.product-category{font-size:.58rem}.product-card .product-quote{font-size:.73rem;min-height:41px}.product-brand .brand-name{font-size:.65rem}.catalogue-faq{padding-bottom:40px;padding-top:5px}.faq-list summary{font-size:.86rem;padding:18px 0}.faq-list p{font-size:.82rem}.quote-wrap{width:94%}.quote-builder{padding:22px 18px;border-radius:14px}.quote-item-fields{gap:15px}.quote-details{gap:15px}.quote-builder label{font-size:.78rem}.quote-submit{flex-wrap:wrap;gap:10px}.quote-submit>a{font-size:.8rem;padding-top:0}.account-main{padding-top:18px}.signin-layout{grid-template-columns:1fr;gap:26px;min-height:0}.signin-art{height:190px;align-self:auto}.signin-art>img{object-position:50% 30%}.signin-art-caption{padding:60px 24px 20px}.signin-art-caption strong{font-size:1.25rem}.signin-content{max-width:520px;width:100%;margin:auto;padding:10px 10px 20px}.signin-content h1{font-size:1.7rem}.signin-content>p{font-size:.9rem;margin-bottom:27px}.signin-content .platform-form{gap:20px}.signin-content .phone-input{min-height:56px}.signin-help{font-size:.76rem}.signin-consent{font-size:.7rem!important}.signin-art-caption span{font-size:.6rem}.attachment-preview{gap:9px}.attachment-preview img{width:50px}}
@media(max-width:520px){.site-header .header-search{order:4;flex:none;max-width:none;width:100%;margin-bottom:6px;min-height:39px}.site-header .navlinks{order:5}.site-header nav{flex-wrap:wrap;gap:6px}.site-header .menu-toggle{margin-left:auto}.quote-item-fields,.quote-details{grid-template-columns:1fr}.quote-wide{grid-column:auto}.signin-art{height:150px}.signin-content{padding-inline:0}.signin-content h1{font-size:1.6rem}.product-card .product-image{height:135px;padding-inline:12px}.product-card-body{padding:11px}.product-card h2{font-size:.78rem}.product-quote{white-space:nowrap}.product-brand{min-height:34px}.product-category{font-size:.53rem}.product-card .product-quote{font-size:.68rem}.phone-input>span{padding-inline:17px}}
@media(prefers-reduced-motion:reduce){.product-card,.product-card .product-image img{transition:none}.product-card:hover .product-image img{transform:none}}
@media(max-width:900px){.quote-product-layout.has-product{grid-template-columns:1fr}.selected-product{position:static;display:grid;grid-template-columns:145px 1fr;gap:6px 18px;padding:20px}.quote-back{grid-column:1/-1}.selected-product-image{grid-row:2/6;height:150px;padding:8px;align-self:center}.selected-product h2{font-size:1.2rem;margin:0}.selected-product p{margin:0}.selected-product .quote-secondary{justify-self:start;margin-top:7px;font-size:.72rem;padding:8px 12px;min-height:38px}.selected-product>span{align-self:end}}
@media(max-width:520px){.selected-product{grid-template-columns:95px 1fr;gap:6px 12px;padding:17px}.selected-product-image{height:125px}.selected-product h2{font-size:1.1rem}.selected-product p{font-size:.76rem}.size-total{flex-wrap:wrap}#quote-size-fields{gap:10px}#quote-size-fields input{width:75px}}
