:root{--gps-primary:#F15A24;--gps-accent:#FF8A00}.gps-fullwidth-page,.gps-fullwidth-page *{box-sizing:border-box}.gps-fullwidth-page{width:100%}.gps-page-inner{width:min(1440px,100%);margin:0 auto;padding:0 32px;font-family:'Outfit',Arial,sans-serif}.gps-catalog,.gps-product-page{font-family:'Outfit',Arial,sans-serif;color:#14221f}.gps-catalog-hero{padding:70px 0 36px}.gps-eyebrow{display:block;font-size:11px;letter-spacing:2.2px;font-weight:600;opacity:.6;margin-bottom:14px}.gps-catalog-hero h1{font-size:clamp(40px,5vw,78px);line-height:.98;letter-spacing:-2px;margin:0;font-weight:600}.gps-catalog-hero h1 span{opacity:.45}.gps-catalog-hero p{max-width:650px;font-size:17px;line-height:1.7;opacity:.65;margin:24px 0 0}.gps-toolbar{display:flex;gap:16px;align-items:center;padding:22px 0;border-top:1px solid #dedfdb;border-bottom:1px solid #dedfdb}.gps-search-form{flex:1}.gps-search-box{display:flex;align-items:center;border:1px solid #d8ddd9;border-radius:999px;overflow:hidden;background:#fff;max-width:700px}.gps-search-box span{padding-left:18px;opacity:.5;font-size:20px}.gps-search-box input{border:0;outline:0;background:transparent;padding:15px 13px;flex:1;font:400 15px 'Outfit'}.gps-search-box button{border:0;background:var(--gps-primary);color:#fff;border-radius:999px;padding:11px 18px;margin:4px;font:500 13px 'Outfit';cursor:pointer}.gps-sort{display:flex;align-items:center;gap:10px;font-size:13px;color:#6b756f}.gps-sort select{border:1px solid #d8ddd9;border-radius:999px;padding:12px 38px 12px 15px;background:#fff;font:400 13px 'Outfit';color:#14221f}.gps-category-nav{display:flex;gap:10px;flex-wrap:wrap;padding:22px 0}.gps-category-nav a{padding:10px 15px;border:1px solid #d9dedb;border-radius:999px;text-decoration:none;color:#273731;font-size:13px;transition:.2s}.gps-category-nav a.active,.gps-category-nav a:hover{background:var(--gps-primary);border-color:var(--gps-primary);color:#fff}.gps-results-head{display:flex;justify-content:space-between;min-height:28px;align-items:center;margin:10px 0 18px;font-size:13px}.gps-results-count{font-weight:500}.gps-loading-label{opacity:.5}.gps-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.gps-card{border:1px solid #e1e5e2;border-radius:20px;overflow:hidden;background:#fff;transition:transform .22s,box-shadow .22s}.gps-card:hover{transform:translateY(-5px);box-shadow:0 16px 42px rgba(20,34,31,.08)}.gps-card-media{display:block;position:relative;background:#f4f5f3;aspect-ratio:1/1;text-decoration:none;overflow:hidden}.gps-card-media img{width:100%;height:100%;object-fit:cover;display:block}.gps-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#eef1ed,#dce4de);color:var(--gps-primary);font-weight:700;letter-spacing:4px}.gps-card-badge{position:absolute;top:14px;left:14px;z-index:2;background:var(--gps-primary);color:#fff;border-radius:999px;padding:7px 10px;font-size:10px;letter-spacing:1px}.gps-card-arrow{position:absolute;right:14px;bottom:14px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);color:#18231f}.gps-card-body{padding:20px}.gps-card-top{display:flex;justify-content:space-between;gap:12px;color:#748079;font-size:11px;text-transform:uppercase;letter-spacing:1.2px}.gps-card-top em{font-style:normal;opacity:.7}.gps-card h2{font-size:24px;line-height:1.1;margin:10px 0 9px;letter-spacing:-.6px}.gps-card h2 a{color:inherit;text-decoration:none}.gps-card p{font-size:14px;line-height:1.6;min-height:66px;margin:0 0 16px;color:#6c7771}.gps-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:stretch}.gps-card-actions>a,.gps-card-actions>button{min-height:42px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;border-radius:10px;font:500 12px 'Outfit';text-decoration:none;cursor:pointer}.gps-card-actions .gps-card-view{background:var(--gps-primary);border:1px solid var(--gps-primary);color:#fff}.gps-card-actions .gps-card-view b{font-size:15px}.gps-card-actions .gps-quick-view-btn{border:1px solid #dfe4e1;background:#fff;color:#31403a}.gps-card-actions .gps-quick-view-btn:hover{border-color:var(--gps-primary);color:var(--gps-primary)}.gps-empty{grid-column:1/-1;padding:70px 20px;text-align:center;border:1px dashed #d8dedb;border-radius:20px;color:#718078}.gps-pagination{display:flex;gap:8px;justify-content:center;padding:34px 0 70px}.gps-pagination a{min-width:42px;height:42px;display:grid;place-items:center;text-decoration:none;border:1px solid #d9dedb;border-radius:50%;color:#26342f;font-size:13px}.gps-pagination a.active,.gps-pagination a:hover{background:var(--gps-primary);border-color:var(--gps-primary);color:#fff}.gps-catalog.is-loading .gps-product-grid{opacity:.45;pointer-events:none}.gps-quick-view{position:fixed;inset:0;z-index:999999;display:none}.gps-quick-view.open{display:block}.gps-qv-backdrop{position:absolute;inset:0;background:rgba(11,20,17,.54);backdrop-filter:blur(4px)}.gps-qv-dialog{position:relative;width:min(920px,calc(100% - 30px));margin:7vh auto 0;background:#fff;border-radius:26px;overflow:auto;max-height:86vh;box-shadow:0 30px 80px rgba(0,0,0,.2)}.gps-qv-close{position:absolute;right:16px;top:14px;width:40px;height:40px;border-radius:50%;border:0;background:#eef0ed;font-size:25px;cursor:pointer;z-index:2}.gps-qv-content{padding:36px}.gps-qv-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.gps-qv-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:18px}.gps-qv-grid h2{font-size:42px;line-height:1.03;letter-spacing:-1.2px;margin:8px 0 15px}.gps-qv-grid p{line-height:1.7;color:#68736e}.gps-qv-meta{display:flex;gap:15px;font-size:13px;margin:22px 0}.gps-qv-meta span{opacity:.55}.gps-btn{display:inline-flex;align-items:center;gap:18px;background:var(--gps-primary);color:#fff;padding:15px 20px;border-radius:999px;text-decoration:none;font:500 14px 'Outfit';border:0;cursor:pointer}.gps-btn-light{background:#eef2ef;color:var(--gps-primary)}.gps-breadcrumbs{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:30px 0 18px;color:#6d7772;font-size:12px}.gps-breadcrumbs a{color:inherit;text-decoration:none}.gps-breadcrumbs strong{color:#1b2a25;font-weight:500}.gps-product-hero{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;padding:28px 0 80px}.gps-main-image{background:#f4f5f3;border-radius:24px;overflow:hidden;aspect-ratio:1}.gps-main-image img{width:100%;height:100%;object-fit:cover}.gps-thumbs{display:flex;gap:10px;margin-top:12px;overflow:auto}.gps-thumbs button{border:1px solid #dfe4e1;padding:0;border-radius:10px;overflow:hidden;background:#fff;width:76px;height:76px;cursor:pointer}.gps-thumbs button.active{border-color:var(--gps-primary)}.gps-thumbs img{width:100%;height:100%;object-fit:cover}.gps-topline{display:flex;gap:12px;align-items:center}.gps-pill{background:#fff0e9;color:var(--gps-primary);padding:8px 11px;border-radius:999px;font-size:11px}.gps-product-copy h1{font-size:clamp(40px,5vw,72px);line-height:.98;letter-spacing:-2px;margin:7px 0 19px;font-weight:600}.gps-lead{font-size:18px;line-height:1.72;color:#69746e;max-width:700px}.gps-product-meta{display:flex;gap:22px;flex-wrap:wrap;margin:28px 0;color:#52605a;font-size:12px}.gps-product-meta span b{display:block;font-size:10px;letter-spacing:1px;color:#89928d;margin-bottom:3px}.gps-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#dfe3e0;border-radius:15px;overflow:hidden;margin:28px 0}.gps-facts div{background:#f8faf8;padding:15px}.gps-facts small{display:block;color:#8a938f;font-size:10px;text-transform:uppercase;letter-spacing:1px;margin-bottom:5px}.gps-facts strong{font-size:13px;font-weight:500}.gps-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.gps-long-content{font-size:16px;line-height:1.75;color:#5e6964;max-width:900px;margin:0 auto 80px}.gps-long-content h2,.gps-long-content h3{color:#182620}.gps-section{padding:55px 0}.gps-section h2,.gps-el-section h2{font-size:clamp(32px,4vw,54px);line-height:1;letter-spacing:-1.4px;margin:0 0 25px;font-weight:600}.gps-spec-table{border-top:1px solid #dfe3e0}.gps-spec-table div{display:grid;grid-template-columns:1fr 1fr;padding:17px 0;border-bottom:1px solid #dfe3e0}.gps-spec-table span{color:#78837d}.gps-spec-table strong{font-weight:500}.gps-benefit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#dfe3e0}.gps-benefit-grid article{background:#fff;padding:30px;display:flex;gap:20px}.gps-benefit-grid article>span{font-size:12px;opacity:.4}.gps-benefit-grid h3,.gps-step-grid h3{font-size:20px;margin:0 0 7px}.gps-benefit-grid p,.gps-step-grid p{margin:0;line-height:1.6;color:#68736e}.gps-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gps-step-grid article{border:1px solid #dfe3e0;border-radius:18px;padding:28px;min-height:170px}.gps-step-grid article>span{font-size:12px;opacity:.4}.gps-downloads,.gps-el-downloads{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gps-downloads a,.gps-el-downloads a{display:flex;align-items:center;gap:12px;padding:17px 18px;border:1px solid #dfe3e0;border-radius:15px;color:inherit;text-decoration:none}.gps-downloads span,.gps-el-downloads span{font-size:10px;letter-spacing:1px;background:#f0f3f0;padding:7px;border-radius:8px}.gps-downloads strong,.gps-el-downloads strong{font-size:13px;font-weight:500;flex:1}.gps-downloads em,.gps-el-downloads em{font-style:normal}.gps-related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gps-related-grid .gps-card{height:100%}.gps-enquiry{margin:70px 0 90px;background:var(--gps-primary);color:#fff;border-radius:26px;padding:50px;display:grid;grid-template-columns:1fr 1fr;gap:55px}.gps-enquiry h2{font-size:clamp(36px,4vw,58px);line-height:1;margin:0 0 15px;letter-spacing:-1.5px}.gps-enquiry p{line-height:1.7;opacity:.7}.gps-form{display:grid;gap:12px}.gps-form input,.gps-form textarea{font:400 15px 'Outfit';padding:15px 16px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;border-radius:10px;outline:0}.gps-form textarea{min-height:120px;resize:vertical}.gps-form input::placeholder,.gps-form textarea::placeholder{color:#fff;opacity:.55}.gps-form button{justify-content:center}.gps-form-message{font-size:13px;opacity:.8}.gps-hp{position:absolute;left:-9999px!important;opacity:0!important;height:0!important}.gps-el-hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin:20px 0 70px}.gps-el-hero-image img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:24px}.gps-el-hero h1{font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-2px;margin:7px 0 18px}.gps-el-hero p{font-size:17px;line-height:1.7;color:#68736e}.gps-el-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#dfe3e0;border-radius:15px;overflow:hidden}.gps-el-meta-grid div{background:#f8faf8;padding:16px}.gps-el-meta-grid small{display:block;font-size:10px;letter-spacing:1px;color:#8a938f;text-transform:uppercase;margin-bottom:5px}.gps-el-meta-grid strong{font-weight:500;font-size:14px}.gps-el-section{margin:70px 0}.gps-el-rich{color:#657069;line-height:1.8}.gps-el-benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#dfe3e0}.gps-el-benefits article{background:#fff;padding:28px;display:flex;gap:20px}.gps-el-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gps-el-steps article{border:1px solid #dfe3e0;border-radius:18px;padding:26px}.gps-el-note{margin-top:20px;padding:18px;border-left:3px solid var(--gps-accent);background:#fff5ee}.gps-el-note p{margin:.5rem 0 0;color:#68736e}.gps-el-specs{border-top:1px solid #dfe3e0}.gps-el-specs div{display:grid;grid-template-columns:1fr 1fr;padding:16px 0;border-bottom:1px solid #dfe3e0}.gps-el-specs span{color:#78837d}.gps-el-specs strong{font-weight:500}.gps-el-related{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gps-el-related a{display:block;border:1px solid #dfe3e0;border-radius:16px;overflow:hidden;color:inherit;text-decoration:none}.gps-el-related img{width:100%;aspect-ratio:1;object-fit:cover}.gps-el-related strong,.gps-el-related span{display:block;padding:10px 16px}.gps-el-related span{font-size:12px;opacity:.55;padding-top:0}.gps-el-enquiry{margin-top:30px}
@media(max-width:1100px){.gps-product-grid{grid-template-columns:repeat(3,1fr)}.gps-related-grid,.gps-el-related{grid-template-columns:repeat(3,1fr)}.gps-downloads,.gps-el-downloads{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.gps-page-inner{padding:0 18px}.gps-toolbar,.gps-product-hero,.gps-el-hero,.gps-enquiry,.gps-qv-grid{grid-template-columns:1fr;display:grid}.gps-toolbar{gap:10px}.gps-search-box{max-width:none}.gps-sort{justify-content:space-between}.gps-sort select{flex:1}.gps-product-grid{grid-template-columns:repeat(2,1fr)}.gps-card h2{font-size:20px}.gps-card p{min-height:auto}.gps-related-grid,.gps-el-related{grid-template-columns:repeat(2,1fr)}.gps-step-grid,.gps-el-steps{grid-template-columns:1fr}.gps-benefit-grid,.gps-el-benefits{grid-template-columns:1fr}.gps-downloads,.gps-el-downloads{grid-template-columns:1fr}.gps-enquiry{padding:30px;margin:40px 0 60px}.gps-product-hero{gap:35px}.gps-product-copy h1{font-size:46px}.gps-catalog-hero h1{font-size:46px}.gps-qv-dialog{margin:3vh auto 0}.gps-qv-content{padding:22px}}
@media(max-width:540px){.gps-product-grid{grid-template-columns:1fr}.gps-related-grid,.gps-el-related{grid-template-columns:1fr}.gps-card-media{aspect-ratio:1.15}.gps-facts{grid-template-columns:1fr}.gps-product-meta{gap:12px}.gps-pagination{padding-bottom:40px}.gps-toolbar{padding:16px 0}.gps-catalog-hero{padding:45px 0 28px}}

/* v3.0.2 catalogue sidebar + pricing/TDS actions */
.gps-catalog-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:42px;align-items:start}.gps-category-sidebar{min-width:0}.gps-category-sticky{position:sticky;top:100px;border:1px solid #e0e5e1;border-radius:20px;padding:24px;background:#fff;max-height:calc(100vh - 125px);overflow:auto}.gps-sidebar-label{display:block;font-size:10px;letter-spacing:1.8px;font-weight:600;color:#849089;margin-bottom:8px}.gps-category-sticky h2{font:600 25px/1.1 'Outfit';letter-spacing:-.5px;margin:0 0 18px}.gps-category-nav{display:grid;gap:5px}.gps-category-nav a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:11px;color:#56635d;text-decoration:none;font-size:14px;line-height:1.3;transition:.2s}.gps-category-nav a:hover{background:#fff5f0;color:#B73E0C}.gps-category-nav a.active{background:var(--gps-primary);color:#fff}.gps-category-nav a em{font-style:normal;font-size:11px;opacity:.6}.gps-category-nav a.active em{opacity:.85}.gps-catalog-main{min-width:0}.gps-card-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.gps-card-actions>a,.gps-card-actions>button{font:500 12px/1.2 'Outfit';text-decoration:none;border:1px solid #dfe4e0;border-radius:999px;padding:9px 12px;background:#fff;color:#3b312d;cursor:pointer}.gps-card-actions .gps-card-view{background:var(--gps-primary);border-color:var(--gps-primary);color:#fff}.gps-card-actions .gps-tds-btn{background:#f7f8f6}.gps-price-btn{font:500 13px 'Outfit';border:1px solid #d9dfdb;background:#fff;color:#3b312d;padding:11px 14px;border-radius:999px;cursor:pointer}.gps-tds-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none!important;font:500 13px 'Outfit';border:1px solid #d9dfdb;background:#fff7f3;color:#3b312d;padding:11px 14px;border-radius:999px}.gps-price-popover{display:none;margin-top:10px;padding:11px 13px;border-radius:12px;background:#f6f8f6;border:1px solid #dfe4e0}.gps-price-popover[aria-hidden="false"]{display:flex;align-items:center;justify-content:space-between;gap:18px}.gps-price-popover span{font-size:11px;color:#7b867f}.gps-price-popover strong{font-size:13px}.gps-hero-actions,.gps-el-hero-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.gps-hero-price,.gps-hero-tds{min-height:44px}.gps-hero-price-note{display:none;margin-top:12px;font:500 14px 'Outfit';color:#B73E0C}.gps-hero-price-note.is-visible{display:block}.gps-qv-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.gps-el-hero-actions{margin-top:18px}.gps-catalog .gps-toolbar{margin-bottom:22px}
@media(max-width:900px){.gps-catalog-layout{grid-template-columns:1fr;gap:18px}.gps-category-sticky{position:static;max-height:none}.gps-category-nav{display:flex;gap:8px;overflow:auto;padding-bottom:2px}.gps-category-nav a{white-space:nowrap;border:1px solid #e2e7e3}.gps-category-nav a.active{border-color:var(--gps-primary)}}

/* v3.0.4 Globe orange theme + product action hierarchy */
.gps-hero-actions .gps-enquiry-btn,.gps-el-hero-actions .gps-enquiry-btn{background:var(--gps-primary);color:#fff;border-color:var(--gps-primary)}
.gps-hero-actions .gps-price-btn,.gps-hero-actions .gps-tds-btn{border-color:#F3C6B2;background:#FFF8F4;color:#9E3610}
.gps-hero-actions .gps-tds-btn:hover,.gps-hero-actions .gps-price-btn:hover{background:#fff0e8;border-color:var(--gps-primary)}
.gps-enquiry button{background:#fff;color:#B73E0C}
.gps-category-nav a.active,.gps-category-nav a:hover{color:#fff}
.gps-card-actions .gps-tds-btn{background:#FFF8F4;color:#9E3610}
.gps-price-btn{color:#3b312d}
.gps-pill{background:#fff0e9;color:#B73E0C}


/* v3.0.5 catalogue image sizing + boxed single-product presentation */
.gps-catalog .gps-card-media{height:222px;aspect-ratio:auto}
.gps-catalog .gps-card-media img{width:100%;height:222px;object-fit:cover}
.gps-single-wrap .gps-page-inner{width:min(1200px,100%);padding-left:24px;padding-right:24px}
.gps-single-wrap .gps-product-page{max-width:100%;margin:0 auto}
.gps-single-wrap .gps-product-hero{grid-template-columns:minmax(0,500px) minmax(0,1fr);gap:58px;align-items:center;padding-bottom:64px}
.gps-single-wrap .gps-product-gallery{width:100%;max-width:500px}
.gps-single-wrap .gps-main-image{width:100%;max-width:500px;height:500px;aspect-ratio:auto;background:#fff;border:1px solid #ecefed;border-radius:20px;display:flex;align-items:center;justify-content:center;padding:18px}
.gps-single-wrap .gps-main-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.gps-single-wrap .gps-thumbs button{width:68px;height:68px}
.gps-single-wrap .gps-product-copy{min-width:0}
.gps-single-wrap .gps-hero-actions{margin-top:22px}
.gps-single-wrap .gps-hero-actions .gps-price-btn,.gps-single-wrap .gps-hero-actions .gps-tds-btn,.gps-single-wrap .gps-hero-actions .gps-enquiry-btn{min-height:44px;box-sizing:border-box}
.gps-single-wrap .gps-hero-price-note{font-size:14px;line-height:1.5;margin-top:12px;color:#8f3a15}
.gps-single-wrap .gps-card-media{height:222px;aspect-ratio:auto}
@media(max-width:900px){.gps-single-wrap .gps-page-inner{padding-left:18px;padding-right:18px}.gps-single-wrap .gps-product-hero{grid-template-columns:1fr;gap:34px}.gps-single-wrap .gps-product-gallery,.gps-single-wrap .gps-main-image{max-width:none}.gps-single-wrap .gps-main-image{height:min(500px,82vw)}}
@media(max-width:540px){.gps-catalog .gps-card-media,.gps-catalog .gps-card-media img{height:auto;aspect-ratio:345/222}.gps-single-wrap .gps-main-image{height:auto;min-height:320px}.gps-single-wrap .gps-main-image img{height:320px}.gps-single-wrap .gps-hero-actions{align-items:stretch}.gps-single-wrap .gps-hero-actions>*{flex:1 1 auto;justify-content:center}}

/* v3.1.1: force readable category hover/keyboard focus colours, including theme overrides */
.gps-catalog .gps-category-sidebar .gps-category-sticky .gps-category-nav > a:hover,
.gps-catalog .gps-category-sidebar .gps-category-sticky .gps-category-nav > a:focus-visible,
.gps-catalog .gps-category-sidebar .gps-category-sticky .gps-category-nav > a.active{background:#F15A24!important;border-color:#F15A24!important;color:#FFFFFF!important;}
.gps-catalog .gps-category-sidebar .gps-category-sticky .gps-category-nav > a:hover span,
.gps-catalog .gps-category-sidebar .gps-category-sticky .gps-category-nav > a:hover em,
.gps-catalog .gps-category-sidebar .gps-category-sticky .gps-category-nav > a:focus-visible span,
.gps-catalog .gps-category-sidebar .gps-category-sticky .gps-category-nav > a:focus-visible em,
.gps-catalog .gps-category-sidebar .gps-category-sticky .gps-category-nav > a.active span,
.gps-catalog .gps-category-sidebar .gps-category-sticky .gps-category-nav > a.active em{color:#FFFFFF!important;opacity:1!important;}
.gps-single-wrap .gps-hero-actions .gps-tds-btn{background:#FFF8F4!important;border-color:#F3C6B2!important;color:#9E3610!important;}
.gps-single-wrap .gps-hero-actions .gps-enquiry-btn{background:#F15A24!important;border-color:#F15A24!important;color:#FFFFFF!important;}
.gps-single-wrap .gps-tds-note{margin:11px 0 0;font:400 12px/1.55 'Outfit',Arial,sans-serif;color:#7b6258;}
.gps-single-wrap .gps-hero-actions{gap:10px;}

/* Category hover contrast: overrides older theme/custom hover colours. */
html body .gps-fullwidth-page .gps-catalog-layout .gps-category-nav a:hover,
html body .gps-fullwidth-page .gps-catalog-layout .gps-category-nav a:hover em,
html body .gps-fullwidth-page .gps-catalog-layout .gps-category-nav a:hover span,
html body .gps-fullwidth-page .gps-catalog-layout .gps-category-nav a:focus-visible,
html body .gps-fullwidth-page .gps-catalog-layout .gps-category-nav a:focus-visible em,
html body .gps-fullwidth-page .gps-catalog-layout .gps-category-nav a:focus-visible span {
  background-color: #F15A24 !important;
  border-color: #F15A24 !important;
  color: #FFFFFF !important;
}
html body .gps-fullwidth-page .gps-catalog-layout .gps-category-nav a:hover,
html body .gps-fullwidth-page .gps-catalog-layout .gps-category-nav a:focus-visible {
  text-decoration: none !important;
}
.gps-el-hero-actions .gps-tds-btn,
.gps-single-wrap .gps-hero-actions .gps-tds-btn {
  background: #FFF8F4 !important;
  border: 1px solid #F3C6B2 !important;
  color: #9E3610 !important;
}
.gps-el-hero-actions .gps-enquiry-btn,
.gps-single-wrap .gps-hero-actions .gps-enquiry-btn {
  background: #F15A24 !important;
  border: 1px solid #F15A24 !important;
  color: #FFFFFF !important;
}


/* Guaranteed contrast for category navigation, including the user's older hover override. */
html body .gps-catalog .gps-catalog-layout .gps-category-nav a:hover,
html body .gps-catalog .gps-catalog-layout .gps-category-nav a:hover em,
html body .gps-catalog .gps-catalog-layout .gps-category-nav a:hover span,
html body .gps-catalog .gps-catalog-layout .gps-category-nav a:focus-visible,
html body .gps-catalog .gps-catalog-layout .gps-category-nav a:focus-visible em,
html body .gps-catalog .gps-catalog-layout .gps-category-nav a:focus-visible span {
  background-color: #F15A24 !important;
  border-color: #F15A24 !important;
  color: #FFFFFF !important;
}
html body .gps-catalog .gps-catalog-layout .gps-category-nav a:hover,
html body .gps-catalog .gps-catalog-layout .gps-category-nav a:focus-visible {
  text-decoration: none !important;
}
.gps-product-page .gps-hero-actions .gps-tds-btn,
.gps-el-hero-actions .gps-tds-btn {
  background: #FFF8F4 !important;
  border: 1px solid #F3C6B2 !important;
  color: #9E3610 !important;
}
.gps-product-page .gps-hero-actions .gps-enquiry-btn,
.gps-el-hero-actions .gps-enquiry-btn {
  background: #F15A24 !important;
  border: 1px solid #F15A24 !important;
  color: #FFFFFF !important;
}


/* v3.1.2: sticky category column and square catalogue packshots */
@media (min-width: 901px) {
  .gps-catalog .gps-catalog-layout {
    align-items: stretch !important;
  }
  .gps-catalog .gps-catalog-layout > .gps-category-sidebar {
    align-self: stretch !important;
    min-height: 100% !important;
    height: auto !important;
    overflow: visible !important;
  }
  .gps-catalog .gps-catalog-layout > .gps-category-sidebar > .gps-category-sticky {
    position: sticky !important;
    top: 100px !important;
    max-height: calc(100vh - 125px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }
}

/* Product cards always use a square 1:1 image crop on desktop and mobile. */
html body .gps-catalog .gps-product-grid .gps-card > .gps-card-media {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background: #F4F5F3;
}
html body .gps-catalog .gps-product-grid .gps-card > .gps-card-media > img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center !important;
}
html body .gps-catalog .gps-product-grid .gps-card > .gps-card-media > .gps-placeholder {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
@media (max-width: 900px) {
  .gps-catalog .gps-catalog-layout { align-items: start !important; }
  .gps-catalog .gps-category-sticky { position: static !important; max-height: none !important; }
}


/* v3.1.3: product-only typography, balanced related cards, consistent section spacing and no empty gray grid cells. */
html body .gps-single-wrap .gps-product-page .gps-product-copy > h1,
html body .gps-single-wrap .gps-el-hero .gps-el-hero-copy > h1 {
  font-family: 'Outfit', Arial, sans-serif !important;
  font-size: 55px !important;
  line-height: .99 !important;
  letter-spacing: -1.2px !important;
  font-weight: 600 !important;
  margin: 7px 0 19px !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: manual !important;
}
html body .gps-fullwidth-page .gps-card h2,
html body .gps-fullwidth-page .gps-card h2 a,
html body .gps-single-wrap .gps-product-page .gps-related-grid .gps-card h2,
html body .gps-single-wrap .gps-product-page .gps-related-grid .gps-card h2 a {
  display: block !important;
  font-family: 'Outfit', Arial, sans-serif !important;
  font-size: 24px !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  font-weight: 600 !important;
  margin: 10px 0 9px !important;
  color: #14221f !important;
  text-decoration: none !important;
  text-transform: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: manual !important;
}
html body .gps-single-wrap .gps-product-page .gps-related-grid .gps-card,
html body .gps-fullwidth-page .gps-related-grid .gps-card {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: 100% !important;
}
html body .gps-single-wrap .gps-product-page .gps-related-grid .gps-card .gps-card-body,
html body .gps-fullwidth-page .gps-related-grid .gps-card .gps-card-body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-width: 0 !important;
}
html body .gps-single-wrap .gps-product-page .gps-related-grid .gps-card .gps-card-actions,
html body .gps-fullwidth-page .gps-related-grid .gps-card .gps-card-actions { margin-top: auto !important; }
html body .gps-single-wrap .gps-product-page .gps-el-related strong,
html body .gps-single-wrap .gps-product-page .gps-el-related a strong {
  display: block !important;
  padding: 12px 16px !important;
  font-family: 'Outfit', Arial, sans-serif !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  font-weight: 600 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
html body .gps-single-wrap .gps-product-page .gps-section h2,
html body .gps-single-wrap .gps-product-page .gps-el-section h2 {
  line-height: 1 !important;
  letter-spacing: .5px !important;
  margin: -2px 0 10px !important;
  font-weight: 600 !important;
}
html body .gps-single-wrap .gps-product-page .gps-long-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 52px !important;
  text-align: left !important;
}
html body .gps-single-wrap .gps-product-page .gps-long-content h2 {
  font-family: 'Outfit', Arial, sans-serif !important;
  font-size: clamp(30px, 3.3vw, 42px) !important;
  line-height: 1.08 !important;
  letter-spacing: .2px !important;
  margin: 0 0 12px !important;
}
html body .gps-single-wrap .gps-product-page .gps-long-content p,
html body .gps-single-wrap .gps-product-page .gps-long-content ul { margin-top: 0 !important; }

/* Replace the gray grid gutters with neutral spacing so unused fields never render as gray blocks. */
html body .gps-single-wrap .gps-product-page .gps-facts,
html body .gps-single-wrap .gps-product-page .gps-el-meta-grid,
html body .gps-single-wrap .gps-product-page .gps-benefit-grid,
html body .gps-single-wrap .gps-product-page .gps-el-benefits {
  background: transparent !important;
  gap: 12px !important;
  border-radius: 0 !important;
  overflow: visible !important;
}
html body .gps-single-wrap .gps-product-page .gps-facts { margin: 24px 0 !important; }
html body .gps-single-wrap .gps-product-page .gps-facts div,
html body .gps-single-wrap .gps-product-page .gps-el-meta-grid div {
  min-width: 0 !important;
  background: #f8faf8 !important;
  border: 1px solid #e1e6e2 !important;
  border-radius: 12px !important;
  padding: 15px !important;
}
html body .gps-single-wrap .gps-product-page .gps-benefit-grid article,
html body .gps-single-wrap .gps-product-page .gps-el-benefits article {
  min-width: 0 !important;
  background: #fff !important;
  border: 1px solid #e1e6e2 !important;
  border-radius: 14px !important;
  padding: 22px !important;
  align-items: flex-start !important;
}
html body .gps-single-wrap .gps-product-page .gps-benefit-grid h3,
html body .gps-single-wrap .gps-product-page .gps-el-benefits h3 {
  font-size: 18px !important;
  line-height: 1.25 !important;
  margin: 0 0 7px !important;
  letter-spacing: 0 !important;
}
html body .gps-single-wrap .gps-product-page .gps-benefit-grid p,
html body .gps-single-wrap .gps-product-page .gps-el-benefits p {
  font-size: 15px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}
html body .gps-single-wrap .gps-product-page .gps-spec-table,
html body .gps-single-wrap .gps-product-page .gps-el-specs {
  width: 100% !important;
  max-width: 100% !important;
}
html body .gps-single-wrap .gps-product-page .gps-spec-table > div,
html body .gps-single-wrap .gps-product-page .gps-el-specs > div {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
  gap: 24px !important;
  align-items: start !important;
  min-width: 0 !important;
}
html body .gps-single-wrap .gps-product-page .gps-spec-table span,
html body .gps-single-wrap .gps-product-page .gps-spec-table strong,
html body .gps-single-wrap .gps-product-page .gps-el-specs span,
html body .gps-single-wrap .gps-product-page .gps-el-specs strong {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}
@media (max-width: 800px) {
  html body .gps-single-wrap .gps-product-copy > h1,
  html body .gps-single-wrap .gps-el-hero .gps-el-hero-copy > h1 { font-size: 40px !important; letter-spacing: -.7px !important; }
  html body .gps-fullwidth-page .gps-card h2,
  html body .gps-fullwidth-page .gps-card h2 a,
  html body .gps-single-wrap .gps-product-page .gps-related-grid .gps-card h2,
  html body .gps-single-wrap .gps-product-page .gps-related-grid .gps-card h2 a,
  html body .gps-fullwidth-page .gps-related-grid .gps-card h2,
  html body .gps-fullwidth-page .gps-related-grid .gps-card h2 a { font-size: 20px !important; }
  html body .gps-single-wrap .gps-product-page .gps-el-benefits,
  html body .gps-single-wrap .gps-product-page .gps-benefit-grid { grid-template-columns: 1fr !important; }
  html body .gps-single-wrap .gps-product-page .gps-el-meta-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 540px) {
  html body .gps-single-wrap .gps-product-page .gps-el-meta-grid,
  html body .gps-single-wrap .gps-product-page .gps-facts { grid-template-columns: 1fr !important; }
}

/* Elementor Free product templates use these widgets without the .gps-product-page wrapper. */
html body .gps-single-wrap .gps-el-section {
  width: 100% !important;
  max-width: 100% !important;
  margin: 52px 0 !important;
}
html body .gps-single-wrap .gps-el-section h2 {
  line-height: 1 !important;
  letter-spacing: .5px !important;
  margin: -2px 0 10px !important;
  font-weight: 600 !important;
}
html body .gps-single-wrap .gps-el-rich {
  width: 100% !important;
  max-width: none !important;
  text-align: left !important;
}
html body .gps-single-wrap .gps-el-rich .gps-brochure-overview,
html body .gps-single-wrap .gps-el-rich .gps-brochure-applications,
html body .gps-single-wrap .gps-el-rich .gps-brochure-substrates {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 28px !important;
}
html body .gps-single-wrap .gps-el-rich h2 {
  font-family: 'Outfit', Arial, sans-serif !important;
  font-size: clamp(30px, 3.3vw, 42px) !important;
  line-height: 1.08 !important;
  letter-spacing: .2px !important;
  margin: 0 0 12px !important;
}
html body .gps-single-wrap .gps-el-meta-grid,
html body .gps-single-wrap .gps-el-benefits {
  background: transparent !important;
  gap: 12px !important;
  border-radius: 0 !important;
  overflow: visible !important;
}
html body .gps-single-wrap .gps-el-meta-grid div {
  min-width: 0 !important;
  background: #f8faf8 !important;
  border: 1px solid #e1e6e2 !important;
  border-radius: 12px !important;
  padding: 15px !important;
}
html body .gps-single-wrap .gps-el-benefits article {
  min-width: 0 !important;
  background: #fff !important;
  border: 1px solid #e1e6e2 !important;
  border-radius: 14px !important;
  padding: 22px !important;
  align-items: flex-start !important;
}
html body .gps-single-wrap .gps-el-benefits h3 {
  font-size: 18px !important;
  line-height: 1.25 !important;
  margin: 0 0 7px !important;
  letter-spacing: 0 !important;
}
html body .gps-single-wrap .gps-el-benefits p {
  font-size: 15px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}
html body .gps-single-wrap .gps-el-specs {
  width: 100% !important;
  max-width: 100% !important;
}
html body .gps-single-wrap .gps-el-specs > div {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
  gap: 24px !important;
  align-items: start !important;
}
html body .gps-single-wrap .gps-el-related strong,
html body .gps-single-wrap .gps-el-related a strong {
  display: block !important;
  padding: 12px 16px !important;
  font-family: 'Outfit', Arial, sans-serif !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  font-weight: 600 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
@media (max-width: 800px) {
  html body .gps-single-wrap .gps-el-benefits { grid-template-columns: 1fr !important; }
  html body .gps-single-wrap .gps-el-meta-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 540px) {
  html body .gps-single-wrap .gps-el-meta-grid { grid-template-columns: 1fr !important; }
}


/* v3.1.4 — product-page rhythm, image alignment and content hierarchy */
html body .gps-single-wrap .gps-product-page .gps-product-hero {
  grid-template-columns: minmax(0, 500px) minmax(0, 1fr) !important;
  gap: clamp(28px, 4vw, 58px) !important;
  align-items: start !important;
  padding-top: 18px !important;
  padding-bottom: 48px !important;
}
html body .gps-single-wrap .gps-product-page .gps-product-gallery {
  width: 100% !important;
  max-width: 500px !important;
  min-width: 0 !important;
  align-self: start !important;
}
html body .gps-single-wrap .gps-product-page .gps-main-image {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  max-width: 500px !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  padding: 12px !important;
  background: #f7f8f6 !important;
  border: 1px solid #e5e9e6 !important;
  border-radius: 22px !important;
  box-sizing: border-box !important;
}
html body .gps-single-wrap .gps-product-page .gps-main-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 12px !important;
}
html body .gps-single-wrap .gps-product-page .gps-product-copy {
  min-width: 0 !important;
  align-self: start !important;
  padding-top: 0 !important;
}
html body .gps-single-wrap .gps-product-page .gps-product-copy > h1,
html body .gps-single-wrap .gps-product-page .gps-el-hero .gps-el-hero-copy > h1 {
  font-size: 55px !important;
  line-height: 1.04 !important;
  letter-spacing: -1.7px !important;
  margin: 8px 0 18px !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
html body .gps-single-wrap .gps-product-page .gps-lead,
html body .gps-single-wrap .gps-product-page .gps-el-hero-copy > p {
  font-size: 17px !important;
  line-height: 1.52 !important;
  margin: 0 !important;
}
html body .gps-single-wrap .gps-product-page .gps-product-meta {
  margin: 22px 0 18px !important;
  gap: 18px 24px !important;
}
html body .gps-single-wrap .gps-product-page .gps-facts {
  gap: 10px !important;
  margin: 22px 0 !important;
}
html body .gps-single-wrap .gps-product-page .gps-facts div {
  padding: 15px 16px !important;
  min-height: 86px !important;
}
html body .gps-single-wrap .gps-product-page .gps-facts strong {
  display: block !important;
  line-height: 1.45 !important;
  overflow-wrap: anywhere !important;
}
html body .gps-single-wrap .gps-product-page .gps-thumbs {
  margin-top: 12px !important;
  gap: 10px !important;
}
html body .gps-single-wrap .gps-product-page .gps-thumbs button {
  width: 72px !important;
  height: 72px !important;
  flex: 0 0 72px !important;
}
html body .gps-single-wrap .gps-product-page .gps-hero-actions {
  gap: 10px !important;
  margin-top: 20px !important;
}

/* Give brochure overview and applications a clear but restrained card hierarchy. */
html body .gps-single-wrap .gps-product-page .gps-long-content,
html body .gps-single-wrap .gps-product-page .gps-el-rich {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  max-width: none !important;
  width: 100% !important;
  margin: 0 0 38px !important;
  padding: 0 !important;
  color: #58665f !important;
  font-size: 16px !important;
  line-height: 1.58 !important;
}
html body .gps-single-wrap .gps-product-page .gps-long-content .gps-brochure-overview,
html body .gps-single-wrap .gps-product-page .gps-long-content .gps-brochure-applications,
html body .gps-single-wrap .gps-product-page .gps-long-content .gps-brochure-substrates,
html body .gps-single-wrap .gps-product-page .gps-el-rich .gps-brochure-overview,
html body .gps-single-wrap .gps-product-page .gps-el-rich .gps-brochure-applications,
html body .gps-single-wrap .gps-product-page .gps-el-rich .gps-brochure-substrates {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: clamp(22px, 2.5vw, 32px) !important;
  border: 1px solid #e3e8e4 !important;
  border-left: 4px solid #F15A24 !important;
  border-radius: 20px !important;
  background: #f7f9f7 !important;
  box-shadow: 0 8px 24px rgba(23, 42, 34, .035) !important;
}
html body .gps-single-wrap .gps-product-page .gps-long-content .gps-brochure-applications,
html body .gps-single-wrap .gps-product-page .gps-el-rich .gps-brochure-applications {
  background: #fff8f3 !important;
  border-color: #f3dfd3 !important;
  border-left-color: #F15A24 !important;
}
html body .gps-single-wrap .gps-product-page .gps-long-content .gps-brochure-substrates,
html body .gps-single-wrap .gps-product-page .gps-el-rich .gps-brochure-substrates {
  background: #f5f8fb !important;
  border-color: #dfe7ed !important;
  border-left-color: #244b67 !important;
}
html body .gps-single-wrap .gps-product-page .gps-brochure-overview h2,
html body .gps-single-wrap .gps-product-page .gps-el-rich .gps-brochure-overview h2 {
  font-size: clamp(29px, 2.7vw, 36px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.55px !important;
  margin: 0 0 12px !important;
  color: #14221f !important;
}
html body .gps-single-wrap .gps-product-page .gps-brochure-applications h2,
html body .gps-single-wrap .gps-product-page .gps-brochure-substrates h2,
html body .gps-single-wrap .gps-product-page .gps-el-rich .gps-brochure-applications h2,
html body .gps-single-wrap .gps-product-page .gps-el-rich .gps-brochure-substrates h2 {
  font-size: clamp(27px, 2.5vw, 32px) !important;
  line-height: 1.14 !important;
  letter-spacing: -.35px !important;
  margin: 0 0 14px !important;
  color: #14221f !important;
}
html body .gps-single-wrap .gps-product-page .gps-brochure-overview p,
html body .gps-single-wrap .gps-product-page .gps-brochure-substrates p,
html body .gps-single-wrap .gps-product-page .gps-el-rich .gps-brochure-overview p,
html body .gps-single-wrap .gps-product-page .gps-el-rich .gps-brochure-substrates p {
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.58 !important;
  color: #58665f !important;
}
html body .gps-single-wrap .gps-product-page .gps-brochure-applications ul,
html body .gps-single-wrap .gps-product-page .gps-el-rich .gps-brochure-applications ul {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body .gps-single-wrap .gps-product-page .gps-brochure-applications li,
html body .gps-single-wrap .gps-product-page .gps-el-rich .gps-brochure-applications li {
  display: block !important;
  margin: 0 !important;
  padding: 11px 14px !important;
  border: 1px solid #f1e3db !important;
  border-left: 3px solid #F15A24 !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.82) !important;
  color: #4f5d56 !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
}

/* Technical sections: soft tinted panels, compact rows, and clear visual hierarchy. */
html body .gps-single-wrap .gps-product-page .gps-section,
html body .gps-single-wrap .gps-product-page .gps-el-section {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  margin: 38px 0 !important;
}
html body .gps-single-wrap .gps-product-page .gps-section--specs,
html body .gps-single-wrap .gps-product-page .gps-el-section--specs {
  padding: clamp(24px, 3vw, 36px) !important;
  background: #f7f9f7 !important;
  border: 1px solid #e3e8e4 !important;
  border-radius: 22px !important;
}
html body .gps-single-wrap .gps-product-page .gps-section--benefits,
html body .gps-single-wrap .gps-product-page .gps-el-section--benefits {
  padding: clamp(24px, 3vw, 36px) !important;
  background: #fff8f3 !important;
  border: 1px solid #f2e0d5 !important;
  border-radius: 22px !important;
}
html body .gps-single-wrap .gps-product-page .gps-section--application,
html body .gps-single-wrap .gps-product-page .gps-el-section--application {
  padding: clamp(24px, 3vw, 36px) !important;
  background: #f5f8fb !important;
  border: 1px solid #dfe7ed !important;
  border-radius: 22px !important;
}
html body .gps-single-wrap .gps-product-page .gps-section--downloads,
html body .gps-single-wrap .gps-product-page .gps-el-section--downloads {
  padding: clamp(24px, 3vw, 36px) !important;
  background: #f7f9f7 !important;
  border: 1px solid #e3e8e4 !important;
  border-radius: 22px !important;
}
html body .gps-single-wrap .gps-product-page .gps-section--specs h2,
html body .gps-single-wrap .gps-product-page .gps-section--benefits h2,
html body .gps-single-wrap .gps-product-page .gps-section--application h2,
html body .gps-single-wrap .gps-product-page .gps-section--downloads h2,
html body .gps-single-wrap .gps-product-page .gps-el-section--specs h2,
html body .gps-single-wrap .gps-product-page .gps-el-section--benefits h2,
html body .gps-single-wrap .gps-product-page .gps-el-section--application h2,
html body .gps-single-wrap .gps-product-page .gps-el-section--downloads h2 {
  font-size: clamp(30px, 3.1vw, 42px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.7px !important;
  margin: 0 0 22px !important;
  color: #14221f !important;
}
html body .gps-single-wrap .gps-product-page .gps-spec-table,
html body .gps-single-wrap .gps-product-page .gps-el-specs {
  border: 1px solid #e2e7e3 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #fff !important;
}
html body .gps-single-wrap .gps-product-page .gps-spec-table > div,
html body .gps-single-wrap .gps-product-page .gps-el-specs > div {
  display: grid !important;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr) !important;
  gap: 24px !important;
  align-items: start !important;
  padding: 15px 18px !important;
  margin: 0 !important;
  border-bottom: 1px solid #e8ece9 !important;
  background: #fff !important;
}
html body .gps-single-wrap .gps-product-page .gps-spec-table > div:nth-child(even),
html body .gps-single-wrap .gps-product-page .gps-el-specs > div:nth-child(even) {
  background: #f8faf8 !important;
}
html body .gps-single-wrap .gps-product-page .gps-spec-table > div:last-child,
html body .gps-single-wrap .gps-product-page .gps-el-specs > div:last-child {
  border-bottom: 0 !important;
}
html body .gps-single-wrap .gps-product-page .gps-spec-table span,
html body .gps-single-wrap .gps-product-page .gps-el-specs span {
  font-size: 14px !important;
  line-height: 1.45 !important;
  color: #718078 !important;
}
html body .gps-single-wrap .gps-product-page .gps-spec-table strong,
html body .gps-single-wrap .gps-product-page .gps-el-specs strong {
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #1c2a24 !important;
  font-weight: 500 !important;
}
html body .gps-single-wrap .gps-product-page .gps-benefit-grid,
html body .gps-single-wrap .gps-product-page .gps-el-benefits {
  gap: 12px !important;
  background: transparent !important;
}
html body .gps-single-wrap .gps-product-page .gps-benefit-grid article,
html body .gps-single-wrap .gps-product-page .gps-el-benefits article {
  background: #fff !important;
  box-shadow: 0 6px 18px rgba(23,42,34,.035) !important;
  border: 1px solid #e7e9e5 !important;
  border-radius: 14px !important;
}
html body .gps-single-wrap .gps-product-page .gps-step-grid,
html body .gps-single-wrap .gps-product-page .gps-el-steps {
  gap: 12px !important;
}
html body .gps-single-wrap .gps-product-page .gps-step-grid article,
html body .gps-single-wrap .gps-product-page .gps-el-steps article {
  min-height: 0 !important;
  padding: 20px !important;
  background: #fff !important;
  border: 1px solid #e0e7eb !important;
  border-radius: 14px !important;
}
html body .gps-single-wrap .gps-product-page .gps-step-grid h3,
html body .gps-single-wrap .gps-product-page .gps-el-steps h3 {
  font-size: 17px !important;
  line-height: 1.3 !important;
  margin: 8px 0 6px !important;
}
html body .gps-single-wrap .gps-product-page .gps-step-grid p,
html body .gps-single-wrap .gps-product-page .gps-el-steps p {
  font-size: 14px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}
html body .gps-single-wrap .gps-product-page .gps-downloads,
html body .gps-single-wrap .gps-product-page .gps-el-downloads { gap: 10px !important; }
html body .gps-single-wrap .gps-product-page .gps-downloads a,
html body .gps-single-wrap .gps-product-page .gps-el-downloads a {
  background: #fff !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
}
html body .gps-single-wrap .gps-product-page .gps-section--related,
html body .gps-single-wrap .gps-product-page .gps-el-section--related {
  padding: 16px 0 6px !important;
  background: transparent !important;
  border: 0 !important;
}
html body .gps-single-wrap .gps-product-page .gps-section--related h2,
html body .gps-single-wrap .gps-product-page .gps-el-section--related h2 {
  font-size: clamp(30px, 3.1vw, 42px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.7px !important;
  margin: 0 0 22px !important;
}

@media (max-width: 900px) {
  html body .gps-single-wrap .gps-product-page .gps-product-hero {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
    align-items: start !important;
  }
  html body .gps-single-wrap .gps-product-page .gps-product-gallery,
  html body .gps-single-wrap .gps-product-page .gps-main-image { max-width: 620px !important; }
  html body .gps-single-wrap .gps-product-page .gps-product-copy > h1,
  html body .gps-single-wrap .gps-product-page .gps-el-hero .gps-el-hero-copy > h1 { font-size: 44px !important; }
}
@media (max-width: 620px) {
  html body .gps-single-wrap .gps-product-page .gps-product-copy > h1,
  html body .gps-single-wrap .gps-product-page .gps-el-hero .gps-el-hero-copy > h1 { font-size: 36px !important; letter-spacing: -.7px !important; }
  html body .gps-single-wrap .gps-product-page .gps-long-content .gps-brochure-overview,
  html body .gps-single-wrap .gps-product-page .gps-long-content .gps-brochure-applications,
  html body .gps-single-wrap .gps-product-page .gps-long-content .gps-brochure-substrates,
  html body .gps-single-wrap .gps-product-page .gps-el-rich .gps-brochure-overview,
  html body .gps-single-wrap .gps-product-page .gps-el-rich .gps-brochure-applications,
  html body .gps-single-wrap .gps-product-page .gps-el-rich .gps-brochure-substrates { padding: 22px !important; }
  html body .gps-single-wrap .gps-product-page .gps-section--specs,
  html body .gps-single-wrap .gps-product-page .gps-section--benefits,
  html body .gps-single-wrap .gps-product-page .gps-section--application,
  html body .gps-single-wrap .gps-product-page .gps-section--downloads,
  html body .gps-single-wrap .gps-product-page .gps-el-section--specs,
  html body .gps-single-wrap .gps-product-page .gps-el-section--benefits,
  html body .gps-single-wrap .gps-product-page .gps-el-section--application,
  html body .gps-single-wrap .gps-product-page .gps-el-section--downloads { padding: 22px !important; }
  html body .gps-single-wrap .gps-product-page .gps-spec-table > div,
  html body .gps-single-wrap .gps-product-page .gps-el-specs > div { grid-template-columns: 1fr !important; gap: 5px !important; padding: 13px 15px !important; }
  html body .gps-single-wrap .gps-product-page .gps-step-grid,
  html body .gps-single-wrap .gps-product-page .gps-el-steps { grid-template-columns: 1fr !important; }
}

/* Gallery change transition: intentionally limited to the main product-gallery images. */
.gps-single-wrap .gps-main-image-el.gps-gallery-slide-in,
.gps-el-gallery .gps-gallery-main-image-el.gps-gallery-slide-in {
  animation: gpsGallerySlideIn 420ms cubic-bezier(.22,.61,.36,1) both;
  will-change: opacity, transform;
}
@keyframes gpsGallerySlideIn {
  from { opacity: .42; transform: translateX(16px) scale(.99); }
  to { opacity: 1; transform: translateX(0) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .gps-single-wrap .gps-main-image-el.gps-gallery-slide-in,
  .gps-el-gallery .gps-gallery-main-image-el.gps-gallery-slide-in { animation: none !important; }
}


/* Related-product packshots stay square at every viewport, including Elementor Free widgets. */
html body .gps-single-wrap .gps-product-page .gps-related-grid .gps-card > .gps-card-media,
html body .gps-fullwidth-page .gps-related-grid .gps-card > .gps-card-media {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}
html body .gps-single-wrap .gps-product-page .gps-related-grid .gps-card > .gps-card-media > img,
html body .gps-fullwidth-page .gps-related-grid .gps-card > .gps-card-media > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center !important;
}
html body .gps-single-wrap .gps-product-page .gps-el-related a > img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* v3.1.6 — mobile-first catalogue controls and square related-product packshots. */
@media (max-width: 900px) {
  html body .gps-catalog .gps-catalog-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: start !important;
  }

  /* Keep category controls within reach as customers browse the catalogue. */
  html body .gps-catalog .gps-catalog-layout > .gps-category-sidebar {
    position: sticky !important;
    top: 8px !important;
    z-index: 50 !important;
    width: 100% !important;
    min-width: 0 !important;
    align-self: start !important;
    overflow: visible !important;
  }
  html body .gps-catalog .gps-category-sidebar .gps-category-sticky {
    position: relative !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 12px !important;
    border: 1px solid #e3e8e4 !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 8px 24px rgba(20,34,31,.07) !important;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }
  html body .gps-catalog .gps-category-sidebar .gps-sidebar-label {
    display: block !important;
    margin: 0 0 4px !important;
    font-size: 9px !important;
    letter-spacing: 1.5px !important;
  }
  html body .gps-catalog .gps-category-sidebar .gps-category-sticky > h2 {
    margin: 0 0 9px !important;
    font-size: 17px !important;
    line-height: 1.15 !important;
    letter-spacing: -.25px !important;
  }
  html body .gps-catalog .gps-category-sidebar .gps-category-nav {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 1px 2px !important;
    margin: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  html body .gps-catalog .gps-category-sidebar .gps-category-nav::-webkit-scrollbar { display: none !important; }
  html body .gps-catalog .gps-category-sidebar .gps-category-nav > a {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    width: auto !important;
    max-width: none !important;
    min-height: 39px !important;
    padding: 8px 12px !important;
    border: 1px solid #dfe5e1 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #4e5d55 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    scroll-snap-align: start;
  }
  html body .gps-catalog .gps-category-sidebar .gps-category-nav > a em {
    flex: 0 0 auto !important;
    margin-left: 2px !important;
    color: #7f8983 !important;
    font-size: 10px !important;
    opacity: 1 !important;
  }
  html body .gps-catalog .gps-category-sidebar .gps-category-nav > a:hover,
  html body .gps-catalog .gps-category-sidebar .gps-category-nav > a:focus-visible,
  html body .gps-catalog .gps-category-sidebar .gps-category-nav > a.active {
    background: #F15A24 !important;
    border-color: #F15A24 !important;
    color: #fff !important;
    box-shadow: 0 4px 10px rgba(241,90,36,.16) !important;
  }
  html body .gps-catalog .gps-category-sidebar .gps-category-nav > a:hover em,
  html body .gps-catalog .gps-category-sidebar .gps-category-nav > a:focus-visible em,
  html body .gps-catalog .gps-category-sidebar .gps-category-nav > a.active em {
    color: #fff !important;
  }
  html body .gps-catalog .gps-toolbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 12px 0 !important;
    margin: 0 0 14px !important;
  }
  html body .gps-catalog .gps-search-form,
  html body .gps-catalog .gps-search-box { width: 100% !important; max-width: none !important; min-width: 0 !important; }
  html body .gps-catalog .gps-search-box { min-height: 48px !important; }
  html body .gps-catalog .gps-search-box input { min-width: 0 !important; font-size: 14px !important; }
  html body .gps-catalog .gps-sort { display: flex !important; width: 100% !important; justify-content: space-between !important; gap: 12px !important; }
  html body .gps-catalog .gps-sort select { min-width: 0 !important; flex: 1 1 auto !important; }
  html body .gps-catalog .gps-results-head { margin: 7px 0 13px !important; }
}

/* Compact list cards give each product comfortable reading and tap targets on phones. */
@media (max-width: 540px) {
  html body .gps-fullwidth-page { overflow-x: clip !important; }
  html body .gps-fullwidth-page .gps-page-inner { padding-left: 12px !important; padding-right: 12px !important; }
  html body .gps-catalog .gps-catalog-hero { padding: 32px 0 20px !important; }
  html body .gps-catalog .gps-catalog-hero h1 { font-size: clamp(33px, 9vw, 43px) !important; line-height: .99 !important; letter-spacing: -1.1px !important; }
  html body .gps-catalog .gps-catalog-hero p { margin-top: 13px !important; font-size: 14px !important; line-height: 1.55 !important; }
  html body .gps-catalog .gps-product-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; }
  html body .gps-catalog .gps-product-grid > .gps-card {
    display: grid !important;
    grid-template-columns: minmax(104px, 34%) minmax(0, 1fr) !important;
    align-items: stretch !important;
    min-width: 0 !important;
    border-radius: 15px !important;
    box-shadow: 0 3px 14px rgba(20,34,31,.035) !important;
    transform: none !important;
  }
  html body .gps-catalog .gps-product-grid > .gps-card > .gps-card-media {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 0 !important;
    background: #f6f7f5 !important;
  }
  html body .gps-catalog .gps-product-grid > .gps-card > .gps-card-media > img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
  }
  html body .gps-catalog .gps-product-grid > .gps-card .gps-card-arrow {
    right: 7px !important;
    bottom: 7px !important;
    width: 28px !important;
    height: 28px !important;
    font-size: 13px !important;
  }
  html body .gps-catalog .gps-product-grid > .gps-card .gps-card-badge {
    top: 7px !important;
    left: 7px !important;
    padding: 4px 6px !important;
    font-size: 8px !important;
  }
  html body .gps-catalog .gps-product-grid > .gps-card > .gps-card-body {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    padding: 12px 11px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }
  html body .gps-catalog .gps-product-grid > .gps-card .gps-card-top {
    display: flex !important;
    gap: 5px !important;
    font-size: 8px !important;
    line-height: 1.25 !important;
    letter-spacing: .7px !important;
    overflow-wrap: anywhere !important;
  }
  html body .gps-catalog .gps-product-grid > .gps-card .gps-card-top em { font-size: 8px !important; }
  html body .gps-catalog .gps-product-grid > .gps-card .gps-card-body h2,
  html body .gps-catalog .gps-product-grid > .gps-card .gps-card-body h2 a {
    font-size: 17px !important;
    line-height: 1.12 !important;
    letter-spacing: -.35px !important;
    margin: 7px 0 6px !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  html body .gps-catalog .gps-product-grid > .gps-card .gps-card-body p {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    min-height: 0 !important;
    margin: 0 0 10px !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
  }
  html body .gps-catalog .gps-product-grid > .gps-card .gps-card-actions {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 6px !important;
    width: 100% !important;
    margin-top: auto !important;
  }
  html body .gps-catalog .gps-product-grid > .gps-card .gps-card-actions > a,
  html body .gps-catalog .gps-product-grid > .gps-card .gps-card-actions > button {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-width: 0 !important;
    min-height: 34px !important;
    padding: 6px 5px !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    gap: 4px !important;
  }
  html body .gps-catalog .gps-results-count { font-size: 12px !important; }
  html body .gps-catalog .gps-pagination { padding: 22px 0 42px !important; flex-wrap: wrap !important; }

  /* Related product packshots remain square regardless of mobile card layout. */
  html body .gps-single-wrap .gps-product-page .gps-related-grid .gps-card > .gps-card-media,
  html body .gps-fullwidth-page .gps-related-grid .gps-card > .gps-card-media {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
  }
  html body .gps-single-wrap .gps-product-page .gps-related-grid .gps-card > .gps-card-media > img,
  html body .gps-fullwidth-page .gps-related-grid .gps-card > .gps-card-media > img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    aspect-ratio: 1 / 1 !important;
  }
  html body .gps-single-wrap .gps-product-page .gps-el-related a,
  html body .gps-single-wrap .gps-product-page .gps-el-related a img {
    min-width: 0 !important;
  }
  html body .gps-single-wrap .gps-product-page .gps-el-related a img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
  }
}

/* Account for WordPress' fixed admin toolbar while previewing on a phone. */
@media (max-width: 900px) {
  html body.admin-bar .gps-catalog .gps-catalog-layout > .gps-category-sidebar { top: 54px !important; }
}


/* v3.1.7 — gallery navigation arrows and a four-thumbnail carousel. */
html body .gps-product-page .gps-product-gallery,
html body .gps-product-page .gps-el-gallery {
  min-width: 0;
  width: 100%;
}
html body .gps-product-page .gps-main-image,
html body .gps-product-page .gps-gallery-main-image {
  position: relative !important;
  isolation: isolate;
}
html body .gps-product-page .gps-main-image > .gps-main-image-el,
html body .gps-product-page .gps-gallery-main-image > .gps-gallery-main-image-el {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}
html body .gps-product-page .gps-gallery-arrow {
  position: absolute !important;
  z-index: 5 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: grid !important;
  place-items: center !important;
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.8) !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 4px 18px rgba(19,31,26,.16) !important;
  color: #17241f !important;
  font: 400 30px/1 Arial, sans-serif !important;
  cursor: pointer !important;
  opacity: .96 !important;
  transition: background .2s ease, color .2s ease, transform .2s ease !important;
}
html body .gps-product-page .gps-gallery-arrow--prev { left: 14px !important; }
html body .gps-product-page .gps-gallery-arrow--next { right: 14px !important; }
html body .gps-product-page .gps-gallery-arrow:hover,
html body .gps-product-page .gps-gallery-arrow:focus-visible {
  background: #F15A24 !important;
  border-color: #F15A24 !important;
  color: #fff !important;
  transform: translateY(-50%) scale(1.05) !important;
}
html body .gps-product-page .gps-thumbs-shell {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  margin-top: 12px !important;
}
html body .gps-product-page .gps-thumbs {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  margin: 0 !important;
  padding: 1px 1px 3px !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
}
html body .gps-product-page .gps-thumbs::-webkit-scrollbar { display: none !important; }
html body .gps-product-page .gps-thumbs-track {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: calc((100% - 30px) / 4) !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 100% !important;
  align-items: start !important;
}
html body .gps-product-page .gps-thumbs .gps-thumb-button {
  display: block !important;
  position: relative !important;
  flex: none !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #dfe4e1 !important;
  border-radius: 12px !important;
  background: #f5f6f4 !important;
  cursor: pointer !important;
  scroll-snap-align: start;
}
html body .gps-product-page .gps-thumbs .gps-thumb-button.active { border: 2px solid #F15A24 !important; }
html body .gps-product-page .gps-thumbs .gps-thumb-button img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center !important;
}
html body .gps-product-page .gps-thumbs-arrow {
  position: absolute !important;
  z-index: 7 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  border: 1px solid #e0e4e1 !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 3px 12px rgba(19,31,26,.15) !important;
  color: #17241f !important;
  font: 400 23px/1 Arial, sans-serif !important;
  cursor: pointer !important;
}
html body .gps-product-page .gps-thumbs-arrow:hover,
html body .gps-product-page .gps-thumbs-arrow:focus-visible {
  background: #F15A24 !important;
  border-color: #F15A24 !important;
  color: #fff !important;
}
html body .gps-product-page .gps-thumbs-arrow--prev { left: 7px !important; }
html body .gps-product-page .gps-thumbs-arrow--next { right: 7px !important; }
@media (max-width: 767px) {
  html body .gps-product-page .gps-gallery-arrow { width: 38px !important; height: 38px !important; font-size: 27px !important; }
  html body .gps-product-page .gps-gallery-arrow--prev { left: 9px !important; }
  html body .gps-product-page .gps-gallery-arrow--next { right: 9px !important; }
  html body .gps-product-page .gps-thumbs-track { grid-auto-columns: calc((100% - 21px) / 4) !important; gap: 7px !important; }
  html body .gps-product-page .gps-thumbs-arrow { width: 30px !important; height: 30px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html body .gps-product-page .gps-gallery-arrow,
  html body .gps-product-page .gps-thumbs-arrow { transition: none !important; }
}


/* v3.1.8 catalogue: aligned cards and compact 18-word excerpts; full details remain on product pages. */
html body .gps-catalog .gps-product-grid > .gps-card { display:flex !important; flex-direction:column !important; height:100% !important; }
html body .gps-catalog .gps-product-grid > .gps-card > .gps-card-media { flex:0 0 auto !important; }
html body .gps-catalog .gps-product-grid > .gps-card > .gps-card-body { display:flex !important; flex:1 1 auto !important; flex-direction:column !important; min-width:0 !important; }
html body .gps-catalog .gps-product-grid > .gps-card .gps-card-body h2,
html body .gps-catalog .gps-product-grid > .gps-card .gps-card-body h2 a { display:-webkit-box !important; -webkit-box-orient:vertical !important; -webkit-line-clamp:3 !important; overflow:hidden !important; min-height:2.2em !important; line-height:1.1 !important; overflow-wrap:anywhere !important; }
html body .gps-catalog .gps-product-grid > .gps-card .gps-card-excerpt { display:-webkit-box !important; -webkit-box-orient:vertical !important; -webkit-line-clamp:3 !important; overflow:hidden !important; min-height:4.5em !important; max-height:4.5em !important; margin:0 0 16px !important; line-height:1.5 !important; overflow-wrap:anywhere !important; }
html body .gps-catalog .gps-product-grid > .gps-card .gps-card-actions { margin-top:auto !important; }
/* PDF feature lists are simple bullets; show each item once instead of duplicating title/body copy. */
.gps-benefit-grid article > div, .gps-el-benefits article > div { min-width:0; flex:1; }
.gps-benefit-grid article h3, .gps-el-benefits article h3 { display:none !important; }
.gps-benefit-grid article p, .gps-el-benefits article p { margin:0 !important; line-height:1.55 !important; overflow-wrap:anywhere; }
@media(max-width:540px){
  html body .gps-catalog .gps-product-grid > .gps-card .gps-card-excerpt { min-height:0 !important; max-height:4.5em !important; }
  html body .gps-catalog .gps-product-grid > .gps-card .gps-card-body h2 { min-height:0 !important; }
}

/* v3.1.9 — larger gallery thumbnails, pointer-swipe affordance, and global Quick View support. */
html body .gps-single-wrap .gps-product-page .gps-thumbs-track,
html body .gps-product-page .gps-el-gallery-thumbs .gps-thumbs-track {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: max-content !important;
  min-width: 100% !important;
}
html body .gps-single-wrap .gps-product-page .gps-thumbs button,
html body .gps-product-page .gps-el-gallery-thumbs .gps-thumbs button {
  box-sizing: border-box !important;
  display: block !important;
  width: 110px !important;
  height: 110px !important;
  flex: 0 0 110px !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}
html body .gps-single-wrap .gps-product-page .gps-thumbs button img,
html body .gps-product-page .gps-el-gallery-thumbs .gps-thumbs button img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  -webkit-user-drag: none !important;
  user-select: none !important;
}
html body .gps-product-page .gps-main-image-el,
html body .gps-product-page .gps-gallery-main-image-el {
  touch-action: pan-y !important;
  cursor: grab !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
}
html body .gps-product-page .gps-main-image-el.gps-is-dragging,
html body .gps-product-page .gps-gallery-main-image-el.gps-is-dragging { cursor: grabbing !important; }
html body.gps-qv-open { overflow: hidden !important; }
html body .gps-quick-view .gps-qv-error { margin: 0; padding: 26px; color: #7b3520; }
html body .gps-quick-view .gps-qv-close { z-index: 10 !important; }
html body .gps-quick-view .gps-qv-dialog { z-index: 2 !important; }
@media (max-width: 540px) {
  html body .gps-single-wrap .gps-product-page .gps-thumbs button,
  html body .gps-product-page .gps-el-gallery-thumbs .gps-thumbs button {
    width: 78px !important;
    height: 78px !important;
    flex-basis: 78px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html body .gps-product-page .gps-main-image-el,
  html body .gps-product-page .gps-gallery-main-image-el { cursor: default !important; }
}



/* v3.2.1 — smooth bi-directional gallery sliding and no catalogue pagination. */
html body .gps-catalog .gps-pagination { display: none !important; }
html body .gps-product-page .gps-main-image,
html body .gps-product-page .gps-gallery-main-image {
  overflow: hidden !important;
}
html body .gps-product-page .gps-gallery-transition-reset { transition: none !important; transform: translateX(0) !important; opacity: 1 !important; z-index: 1 !important; }
html body .gps-product-page .gps-main-image > .gps-gallery-image-outgoing,
html body .gps-product-page .gps-gallery-main-image > .gps-gallery-image-outgoing {
  position: absolute !important;
  display: block !important;
  z-index: 3 !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  pointer-events: none !important;
  opacity: 1 !important;
  transform: translateX(0) !important;
  transition: none !important;
  will-change: transform, opacity;
}
html body .gps-product-page .gps-main-image > .gps-gallery-image-incoming,
html body .gps-product-page .gps-gallery-main-image > .gps-gallery-image-incoming {
  position: relative !important;
  z-index: 1 !important;
  opacity: 0 !important;
  transform: translateX(0) !important;
  transition: none !important;
  will-change: transform, opacity;
}
html body .gps-product-page .gps-gallery-image-incoming.gps-gallery-slide-forward { transform: translateX(34px) !important; }
html body .gps-product-page .gps-gallery-image-incoming.gps-gallery-slide-back { transform: translateX(-34px) !important; }
html body .gps-product-page .gps-gallery-image-incoming.gps-gallery-image-moving {
  opacity: 1 !important;
  transform: translateX(0) !important;
  transition: transform 380ms cubic-bezier(.22,.61,.36,1), opacity 380ms ease !important;
}
html body .gps-product-page .gps-gallery-image-outgoing.gps-gallery-image-moving {
  transition: transform 380ms cubic-bezier(.22,.61,.36,1), opacity 380ms ease !important;
}
html body .gps-product-page .gps-gallery-image-outgoing.gps-gallery-image-leaving.gps-gallery-slide-forward { transform: translateX(-34px) !important; opacity: 0 !important; }
html body .gps-product-page .gps-gallery-image-outgoing.gps-gallery-image-leaving.gps-gallery-slide-back { transform: translateX(34px) !important; opacity: 0 !important; }
@media (prefers-reduced-motion: reduce) {
  html body .gps-product-page .gps-main-image > .gps-gallery-image-incoming,
  html body .gps-product-page .gps-gallery-main-image > .gps-gallery-image-incoming,
  html body .gps-product-page .gps-main-image > .gps-gallery-image-outgoing,
  html body .gps-product-page .gps-gallery-main-image > .gps-gallery-image-outgoing { transition: none !important; transform: none !important; opacity: 1 !important; }
}
