/* GreenFox Custom Lab v1.8.1 — live 3D configurator */
.custom-lab-page .lab-page-intro{min-height:430px;background:radial-gradient(circle at 78% 18%,rgba(174,255,82,.2),transparent 25%),radial-gradient(circle at 13% 82%,rgba(31,205,167,.14),transparent 25%),linear-gradient(128deg,#061a0e,#020906 62%,#102e1a)}
.custom-lab-page .lab-page-intro h1{font-size:clamp(56px,6.2vw,94px)}
.custom-lab-page .lab-intro-note>span{font-size:9px;letter-spacing:.14em}
.custom-lab-page .lab-form-shell{width:min(1620px,calc(100% - 28px));grid-template-columns:310px minmax(0,1fr);margin-top:-42px}
.custom-lab-page .lab-quote-form{padding:32px clamp(24px,3.8vw,58px) 32px;min-width:0}
.custom-lab-page .lab-form-step{min-height:620px;padding-top:28px}
.custom-lab-page .lab-form-step legend{font-size:clamp(30px,2.5vw,42px)}
.lab-estimate-dock{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:20px 0 0;padding:18px 20px;border:1px solid #c9d8ca;border-radius:18px;background:linear-gradient(120deg,#eff8e9,#f9fbf7);box-shadow:0 14px 34px rgba(25,72,35,.08)}
.lab-estimate-dock>div:first-child{min-width:185px}.lab-estimate-dock small,.lab-estimate-dock strong,.lab-estimate-dock span{display:block}.lab-estimate-dock>div:first-child small{color:#5c7a64;font:800 8px Manrope;text-transform:uppercase;letter-spacing:.14em}.lab-estimate-dock>div:first-child strong{margin-top:4px;color:#10271a;font:800 clamp(24px,2.2vw,34px) Manrope;letter-spacing:-.05em}.lab-estimate-dock>div:first-child>span{margin-top:3px;color:#75827a;font-size:9px}.lab-estimate-metrics{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:8px}.lab-estimate-metrics>span{min-width:104px;padding:10px 12px;border-left:1px solid #d9e2d8}.lab-estimate-metrics small{color:#859087;font:700 7px Manrope;text-transform:uppercase;letter-spacing:.09em}.lab-estimate-metrics b{display:block;margin-top:5px;color:#1f3727;font:800 12px Manrope}
.lab-studio{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(240px,.72fr);gap:14px;align-items:stretch}.lab-viewer{position:relative;min-height:460px;border-radius:22px;overflow:hidden;background:radial-gradient(circle at 50% 42%,rgba(85,169,74,.18),transparent 34%),linear-gradient(145deg,#0a2515,#031009 76%);border:1px solid rgba(124,185,111,.42);box-shadow:inset 0 1px rgba(255,255,255,.08),0 22px 50px rgba(12,41,20,.17)}.lab-viewer canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.lab-viewer-upload{position:absolute;z-index:4;inset:22px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;border:1px dashed rgba(182,255,114,.46);border-radius:18px;background:radial-gradient(circle at 50% 38%,rgba(177,255,82,.14),transparent 36%),rgba(2,13,7,.76);cursor:pointer;transition:border-color .25s,background .25s,transform .25s}.lab-viewer-upload:hover,.lab-viewer-upload.is-dragging{border-color:#b8ff48;background:radial-gradient(circle at 50% 38%,rgba(177,255,82,.2),transparent 38%),rgba(4,21,11,.86);transform:scale(.995)}.lab-viewer-upload input{position:absolute;opacity:0;pointer-events:none}.lab-viewer-upload .lab-drop-icon{width:62px;height:72px;margin-bottom:20px;background:#b8ff48;color:#0b1b10;box-shadow:0 0 38px rgba(168,255,75,.2)}.lab-viewer-upload strong{color:#f5fff0;font:800 20px Manrope}.lab-viewer-upload small{margin-top:8px;color:#9bb0a1;font-size:10px}.lab-viewer-upload em{margin-top:20px;padding:8px 13px;border:1px solid rgba(255,255,255,.1);border-radius:99px;background:rgba(255,255,255,.06);color:#b7c8bc;font-size:9px;font-style:normal}.lab-viewer.has-model .lab-viewer-upload{opacity:0;visibility:hidden;pointer-events:none}.lab-viewer-loading{position:absolute;z-index:7;inset:0;display:flex;align-items:center;justify-content:center;gap:13px;background:rgba(3,15,8,.86);color:#eefbe9;font:700 12px Manrope}.lab-viewer-loading[hidden]{display:none}.lab-viewer-loading span{width:20px;height:20px;border:2px solid rgba(184,255,72,.2);border-top-color:#b8ff48;border-radius:50%;animation:labViewerSpin .8s linear infinite}.lab-viewer-toolbar{position:absolute;z-index:5;left:14px;right:14px;top:14px;display:flex;align-items:center;gap:7px}.lab-viewer-toolbar label,.lab-viewer-toolbar button{height:34px;border:1px solid rgba(255,255,255,.14);border-radius:99px;background:rgba(4,20,10,.78)!important;color:#d9e7dc!important;backdrop-filter:blur(12px);font:700 8px Manrope}.lab-viewer-toolbar label{display:flex;align-items:center;padding-left:12px;text-transform:uppercase;letter-spacing:.08em}.lab-viewer-toolbar select{height:32px;margin-left:4px;border:0;background:transparent;color:#b8ff48;font:800 8px Manrope;outline:0}.lab-viewer-toolbar select option{color:#111;background:#fff}.lab-viewer-toolbar button{padding:0 13px;cursor:pointer}.lab-viewer-toolbar button:hover,.lab-viewer-toolbar button:focus-visible{border-color:#aaff45!important;background:#163c22!important;color:#b8ff48!important}.lab-viewer-toolbar [data-lab-replace-file]{display:none;margin-left:auto}.lab-viewer.has-model .lab-viewer-toolbar [data-lab-replace-file]{display:block}.lab-viewer-badge{position:absolute;z-index:4;left:16px;bottom:16px;display:none;align-items:center;gap:8px;padding:8px 11px;border-radius:99px;background:rgba(3,18,9,.78);color:#a9bbb0;font-size:8px;backdrop-filter:blur(10px)}.lab-viewer-badge span{width:6px;height:6px;border-radius:50%;background:#b8ff48;box-shadow:0 0 10px #b8ff48}.lab-viewer.has-model .lab-viewer-badge{display:flex}
.lab-model-analysis{padding:20px;border:1px solid #d3ded2;border-radius:22px;background:#f7faf4}.lab-analysis-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid #dce4da}.lab-analysis-head span{color:#263b2d;font:800 10px Manrope;text-transform:uppercase;letter-spacing:.1em}.lab-analysis-head b{color:#859188;font:600 8px Manrope}.lab-analysis-head b.is-ready{color:#3a8c32}.lab-analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.lab-analysis-grid>span{padding:13px 11px;border-radius:11px;background:#fff;border:1px solid #e1e7df}.lab-analysis-grid small{display:block;color:#8a958d;font:700 7px Manrope;text-transform:uppercase;letter-spacing:.09em}.lab-analysis-grid b{display:block;margin-top:5px;color:#1b2d21;font:800 11px Manrope}.lab-model-analysis>p{margin:16px 0 0;color:#708078;font-size:9px;line-height:1.55}.lab-model-analysis>p i{color:#4ba23a;font-style:normal;font-weight:800}.lab-material-advice{display:flex;align-items:center;gap:16px;margin-top:18px;padding:17px;border:1px solid #d4dfd1;border-radius:15px;background:#f3f8ef}.lab-material-advice>span{display:grid;place-items:center;flex:0 0 50px;width:50px;height:50px;border-radius:14px;background:#10271a;color:#b8ff48;font:800 12px Manrope}.lab-material-advice strong{display:block;color:#23382a;font:800 11px Manrope}.lab-material-advice p{margin:4px 0 0;color:#77847b;font-size:9px}.lab-print-settings{margin-top:2px}
.lab-material-guide{width:min(1480px,calc(100% - 36px));margin:70px auto 90px}.lab-material-guide-head{display:grid;grid-template-columns:1fr .52fr;column-gap:8vw;align-items:end;margin-bottom:34px}.lab-material-guide-head .eyebrow{grid-column:1/-1;color:#4c9b37}.lab-material-guide-head h2{margin:18px 0 0;color:#101811;font-size:clamp(46px,5vw,74px)}.lab-material-guide-head h2 em{color:#4f9b2c}.lab-material-guide-head>p:last-child{margin:0 0 8px;color:#6d786f;font-size:13px;line-height:1.65}.lab-material-guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.lab-material-guide article{position:relative;min-height:360px;padding:28px;border:1px solid #d1dbd0;border-radius:20px;background:#f8faf5;overflow:hidden}.lab-material-guide article:after{content:"";position:absolute;right:-52px;bottom:-52px;width:150px;height:150px;border:1px solid rgba(65,143,46,.12);border-radius:50%;box-shadow:0 0 0 28px rgba(65,143,46,.025)}.material-orb{display:block;width:54px;height:54px;border-radius:50%;box-shadow:inset -10px -12px 18px rgba(0,0,0,.22),0 16px 24px rgba(24,57,29,.16)}.material-pla{background:#b8ff48}.material-petg{background:#252d29}.material-asa{background:#f06a4d}.material-tpu{background:#36cbbb}.lab-material-guide article small{display:block;margin-top:34px;color:#579d3f;font:800 8px Manrope;text-transform:uppercase;letter-spacing:.12em}.lab-material-guide h3{margin:8px 0;color:#142019;font:800 30px Manrope}.lab-material-guide article p{color:#69766d;font-size:11px;line-height:1.65}.lab-material-guide ul{position:relative;z-index:1;list-style:none;padding:20px 0 0;margin:22px 0 0;border-top:1px solid #dde4dc}.lab-material-guide li{padding:4px 0;color:#45564a;font-size:9px}.lab-material-guide li:before{content:"✓";margin-right:8px;color:#54a13b;font-weight:800}
.material-abs{background:linear-gradient(135deg,#f0b139,#b85918)}.material-nylon{background:linear-gradient(135deg,#ece6d5,#9a958a)}.material-pacf{background:linear-gradient(135deg,#414846,#111715)}.material-pc{background:linear-gradient(135deg,#76a6d8,#253e61)}.material-availability{position:absolute;z-index:2;top:26px;right:26px;padding:7px 10px;border:1px solid #d2ddd2;border-radius:999px;background:#edf2eb;color:#5c685f;font:800 7px Manrope;text-transform:uppercase;letter-spacing:.1em}.material-availability.is-instant{border-color:#b9d8ac;background:#e9f8e2;color:#39852f}.lab-material-guide-note{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px;margin-top:14px;padding:22px 26px;border:1px solid #264a31;border-radius:18px;background:#07180e;color:#dce8df}.lab-material-guide-note>span{padding:9px 12px;border-radius:999px;background:#b8ff48;color:#10251a;font:800 9px Manrope;text-transform:uppercase;letter-spacing:.08em}.lab-material-guide-note p{margin:0;color:#aebbb2;font-size:11px;line-height:1.65}.lab-material-guide-note strong{color:#fff}
@keyframes labViewerSpin{to{transform:rotate(360deg)}}
@media(max-width:1180px){.custom-lab-page .lab-form-shell{grid-template-columns:250px minmax(0,1fr)}.lab-studio{grid-template-columns:1fr}.lab-model-analysis{display:grid;grid-template-columns:.7fr 1.3fr;gap:18px}.lab-analysis-head{display:block}.lab-analysis-head b{display:block;margin-top:7px}.lab-analysis-grid{margin-top:0}.lab-model-analysis>p{grid-column:1/-1;margin-top:0}.lab-estimate-dock{align-items:flex-start}.lab-estimate-metrics{grid-template-columns:1fr}.lab-estimate-metrics>span{min-width:150px}.lab-material-guide-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.custom-lab-page .lab-page-intro{min-height:390px;padding-top:32px}.custom-lab-page .lab-page-intro h1{font-size:52px}.custom-lab-page .lab-form-shell{width:calc(100% - 12px);margin-top:-26px;grid-template-columns:minmax(0,1fr)}.custom-lab-page .lab-quote-form{padding:24px 15px;min-width:0}.custom-lab-page .lab-form-sidebar{padding:22px 18px}.lab-estimate-dock{display:block;padding:16px}.lab-estimate-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.lab-estimate-metrics>span{min-width:0;padding:9px 7px;border-left:0;border-top:1px solid #d9e2d8}.lab-estimate-metrics b{font-size:10px}.lab-viewer{min-height:390px}.lab-viewer-upload{inset:12px;padding:16px}.lab-viewer-upload strong{font-size:17px}.lab-viewer-upload small{max-width:250px;line-height:1.5}.lab-viewer-toolbar{left:8px;right:8px;top:8px;flex-wrap:wrap}.lab-viewer-toolbar button{padding:0 10px}.lab-model-analysis{display:block}.lab-analysis-grid{margin-top:14px}.lab-material-guide{width:calc(100% - 16px);margin:52px auto 60px}.lab-material-guide-head{display:block}.lab-material-guide-head h2{font-size:43px}.lab-material-guide-head>p:last-child{margin-top:18px}.lab-material-guide-grid{grid-template-columns:1fr}.lab-material-guide article{min-height:320px}.lab-choice-grid{grid-template-columns:1fr 1fr}.lab-choice-grid label>span{min-height:126px;padding:14px 12px}.lab-form-step{min-height:0}}
@media(max-width:500px){.lab-material-guide-note{grid-template-columns:1fr;padding:19px}.lab-material-guide-note>span{justify-self:start}.material-availability{top:22px;right:20px}}
@media(prefers-reduced-motion:reduce){.lab-viewer-loading span{animation:none}}
