:root{font-family:Arial,Helvetica,sans-serif;color:#18212a;background:#f7f8f9;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{height:78px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce0e3;background:white}.wordmark{font-weight:900;letter-spacing:-1px;font-size:24px}.wordmark span{font-size:10px;letter-spacing:3px;margin-left:12px;font-weight:500;color:#64717b}.preview-tag{font-size:10px;letter-spacing:1.8px;color:#64717b}main{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,1fr);max-width:1800px;margin:auto}.stage{position:sticky;top:0;height:calc(100vh - 78px);min-height:580px;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#fff 0%,#f2f4f5 65%,#e9edef 100%)}.intro{position:absolute;z-index:1;top:24px;left:36px;pointer-events:none}.intro p{font-size:10px;letter-spacing:2px;color:#75838e;margin:0 0 10px}h1{font-size:clamp(24px,3.2vw,48px);font-weight:400;letter-spacing:-2px;line-height:1.05;margin:0}h1 em{font-family:Georgia,serif;font-weight:400}#viewer{position:absolute;inset:130px 0 85px}#viewer canvas{display:block;width:100%;height:100%;touch-action:none}.brand-watermark{pointer-events:none;position:absolute;bottom:12px;left:32px;color:#a1a8ad;font-size:12px;letter-spacing:3px;opacity:.65}#status{position:absolute;bottom:54px;width:100%;text-align:center;font-size:11px;color:#73808b;margin:0;padding:8px;pointer-events:none}.views{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:5px}.views button{background:#fff;border:1px solid #d4dbdf;border-radius:20px;font-size:11px;padding:8px 15px;cursor:pointer}.gesture{position:absolute;right:20px;bottom:30px;font-size:10px;color:#7c8790}.stage .error{color:#9b2e25}aside{padding:32px 36px;background:#fff;border-left:1px solid #e0e5e8}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}h2{font-size:23px;font-weight:500;letter-spacing:-.5px;margin:0}button{font:inherit}.panel-heading button{border:none;text-decoration:underline;background:none;color:#65747f;font-size:12px;cursor:pointer}.option{border:none;border-top:1px solid #e8ecef;padding:18px 0 12px;margin:0}.option legend{float:left;width:100%;font-size:13px;font-weight:600;margin-bottom:10px}.choices{clear:both;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.choice{cursor:pointer;border:1px solid #e0e5e9;border-radius:5px;display:flex;align-items:center;gap:8px;min-height:47px;padding:9px 10px;font-size:11px;line-height:1.3}.choice input{appearance:none;width:12px;height:12px;flex:none;border:1px solid #adb7c0;border-radius:50%;margin:0}.choice input:checked{background:#17242e;border:3px solid #fff;outline:1px solid #17242e}.choice:has(input:checked){border-color:#283946;background:#f4f7f9}.choice small{display:block;color:#71808b;font-size:10px;margin-top:3px}.swatch{display:inline-block;flex:none;width:22px;height:22px;border-radius:50%;border:1px solid #0002}.hint{font-size:11px;color:#76838d;clear:both;line-height:1.5;margin:4px 0 10px}.vehicle{border-top:1px solid #dce2e6;margin-top:20px;padding-top:20px}.vehicle label{display:block;font-size:12px;margin:14px 0 7px}.vehicle label span{display:block;color:#81909a;font-size:10px;margin-top:3px}.vehicle input{width:100%;border:1px solid #dce3e8;border-radius:4px;padding:11px;font-size:12px}.total{margin-top:25px;border-top:1px solid #dce2e6;padding:20px 0}.total>p:first-child{display:flex;justify-content:space-between;font-size:13px;align-items:center}.total strong{font-size:25px;font-weight:500;letter-spacing:-.6px}summary{font-size:12px;color:#65737e;cursor:pointer}#breakdown>div{display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#697680;padding:6px 0}#breakdown{padding:12px 0}.checkout-note{font-size:11px;line-height:1.5;color:#7e8991}#refresh-deals{font-size:11px;border:1px solid #d6dfe5;background:#fff;color:#506270;padding:7px 10px;border-radius:4px;cursor:pointer}#checkout{border:0;background:#e9edef;color:#78858f;width:100%;padding:14px;border-radius:4px;font-size:13px}.save-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.save-actions button{flex:1;min-width:100px;background:#17242e;color:#fff;border:0;padding:11px;border-radius:4px;font-size:11px;cursor:pointer}.save-actions button:disabled{opacity:.45;cursor:wait}#message{font-size:11px;line-height:1.4;color:#687681}input:focus-visible,button:focus-visible{outline:2px solid #2684ad;outline-offset:3px}@media(max-width:1000px){.gesture{display:none}aside{padding:24px}.intro{left:24px;top:25px}}@media(max-width:720px){header{height:65px}.wordmark{font-size:21px}.wordmark span{font-size:8px}.preview-tag{font-size:8px}main{display:block}.stage{position:relative;height:70vh;min-height:440px;max-height:650px}.intro{top:24px;left:24px}h1{font-size:30px}#viewer{inset:110px 0 75px}aside{border-left:0;border-top:1px solid #e0e5e8}#status{font-size:10px}.choices{grid-template-columns:repeat(2,minmax(0,1fr))}}

#checkout:not(:disabled){background:#17242e;color:#fff;font-weight:600;cursor:pointer}#checkout:not(:disabled):hover{background:#263d4e}#checkout:disabled{cursor:wait}#message:not(:empty){padding:12px;border-radius:5px;background:#eef3f6;font-size:13px}#message.error{background:#fff1ef;color:#9b2e25;border:1px solid #e8b7b2}.vehicle input[aria-invalid=true]{border:2px solid #b33127}

.required-star{color:#b42318;font-size:15px;font-weight:700}

.option-help{display:inline-block;position:relative;margin-left:8px}.help-toggle{border:1px solid #83919b;border-radius:50%;width:22px;height:22px;background:white;color:#263d4e;font-size:13px;cursor:pointer}.option-help [role=tooltip]{display:none;position:absolute;z-index:5;top:28px;left:-150px;width:min(280px,70vw);padding:14px;background:#17242e;color:white;border-radius:6px;box-shadow:0 6px 20px #0003;font-size:12px;font-weight:400;line-height:1.55}.option-help:hover [role=tooltip],.help-toggle:focus-visible+[role=tooltip],.help-toggle[aria-expanded=true]+[role=tooltip]{display:block}

/* Shared typography and touch layout for every approved builder. */
@font-face{font-family:Eurogear Manrope;src:url('../b9/assets/fonts/Manrope.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
:root{font-family:Eurogear Manrope,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#151719}
input,button,select{font-family:inherit}.wordmark{letter-spacing:-.06em}.intro h1{font-size:clamp(24px,2.7vw,43px);font-weight:600;letter-spacing:-.035em;line-height:1.13;text-transform:uppercase}.intro h1 em{font:inherit;color:#72777c}
h2{font-size:17px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.option legend{font-size:11px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;line-height:1.7}.choice{font-size:12px;font-weight:500;min-height:48px}.choice small{font-size:11px;letter-spacing:0;font-weight:500}.views button,#checkout,.save-actions button{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.vehicle>label{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.vehicle label span,.option-help [role=tooltip]{font-weight:400;letter-spacing:0;text-transform:none}.hint,.checkout-note{color:#59636c}.vehicle input{font-size:16px}.option[aria-invalid=true]{border:2px solid #b42318;padding:12px;border-radius:5px}.mobile-rotate{display:none}
@media(max-width:720px){
 html,body{height:100%;overflow:hidden}header{height:42px;padding:0 16px}.wordmark{font-size:18px}.wordmark span{font-size:8px}.preview-tag{font-size:8px;letter-spacing:1px}
 main{height:calc(100svh - 42px);display:flex;flex-direction:column;overflow:hidden}.stage{position:relative;flex:0 0 52%;height:auto;min-height:280px;max-height:none;border-bottom:1px solid #dce2e6}.intro{top:10px;left:16px}.intro p{font-size:8px;margin-bottom:4px}.intro h1{font-size:15px;letter-spacing:.01em}.intro h1 br,.intro h1 em{display:none}#viewer{inset:35px 0 36px}.brand-watermark{bottom:4px;font-size:8px;left:14px}.views{bottom:5px;gap:5px}.views button{min-height:32px;padding:6px 13px;font-size:9px}.gesture,#status{display:none}.stage:has(#status.error) #status{display:block;bottom:36px;background:#fff}.mobile-rotate:not([hidden]){display:block;position:absolute;right:12px;bottom:5px;z-index:4;min-height:36px;padding:8px 12px;background:white;border:1px solid #aab2b8;border-radius:20px;font-size:10px;font-weight:650;box-shadow:0 2px 10px #0001}.rotation-unlocked .mobile-rotate{background:#151719;color:#fff}
 aside{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding:18px 16px 125px;border:none;scroll-padding-top:14px}.panel-heading{margin-bottom:16px}h2{font-size:14px}.option{padding:16px 0 12px}.option legend{font-size:11px}.choice{font-size:12px;padding:11px 10px;min-height:49px}.hint,.checkout-note{font-size:12px;line-height:1.6}.vehicle label span{font-size:11px}.total strong{font-variant-numeric:tabular-nums}#checkout{min-height:50px;font-size:12px}.save-actions button{min-height:46px;font-size:10px}.option-help [role=tooltip]{position:fixed;left:16px;right:16px;top:38%;width:auto;max-height:42vh;overflow:auto;z-index:20}
}
@media(max-width:720px) and (max-height:550px){.stage{min-height:150px;flex-basis:48%}.intro{display:none}#viewer{inset:4px 0 35px}}

.magnetic-tag{color:#aa2336;font:700 10px/1.4 Eurogear Manrope,sans-serif;text-transform:uppercase;letter-spacing:.055em;margin-left:7px;display:inline-block}

.mobile-expand{display:none}@media(max-width:720px){.mobile-expand{display:block;position:absolute;right:12px;top:6px;z-index:5;border:1px solid #bac1c7;border-radius:20px;background:white;color:#18212a;padding:10px 14px;font-size:11px;font-weight:700;min-height:40px}.mobile-rotate:not([hidden]){bottom:5px;right:12px}.wheel-expanded header,.wheel-expanded aside,.wheel-expanded .intro,.wheel-expanded .eg-live-price{display:none!important}.wheel-expanded main{height:100dvh}.wheel-expanded .stage{position:fixed;inset:0;min-height:0;max-height:none;height:100dvh;z-index:1000;flex:none}.wheel-expanded #viewer{inset:50px 0 66px}.wheel-expanded .views{bottom:16px;left:16px;transform:none}.wheel-expanded .mobile-rotate:not([hidden]){bottom:12px}.wheel-expanded .mobile-expand{top:8px}.wheel-expanded .brand-watermark{display:none}}
.preview-note{margin:0 0 20px;padding:14px 16px;border:1px solid #dce2e6;border-radius:8px;background:#f6f8f9;color:#4c5862;font-size:12px;line-height:1.65}.preview-note strong{display:block;margin-bottom:4px;color:#20282f;font-weight:700}.preview-note a{color:#263d4e;text-decoration:underline;text-underline-offset:3px}.preview-note a:focus-visible{outline:2px solid #2684ad;outline-offset:3px}
/* Help stays above the canvas and outside the independently scrolling options. */
.option-help-dialog{border:1px solid #dce2e6;border-radius:14px;padding:24px;width:min(420px,calc(100% - 32px));max-height:calc(100svh - 48px);overflow:auto;color:#18212a;background:#fff;box-shadow:0 12px 60px #0004}.option-help-dialog::backdrop{background:#10182099}.option-help-dialog h2{font-size:16px;line-height:1.4}.option-help-dialog p{font-size:15px;line-height:1.65;letter-spacing:0;text-transform:none;margin:16px 0 22px}.option-help-dialog button{width:100%;min-height:46px;border:0;border-radius:6px;background:#18212a;color:#fff;font-weight:700}.help-toggle{min-width:32px;min-height:32px}.option-help:has(.help-toggle[aria-expanded=true]) [role=tooltip]{display:none}
@media(max-width:720px){.option-help [role=tooltip]{display:none!important}#viewer:not(.rotation-unlocked) canvas{pointer-events:none}#viewer:not(.rotation-unlocked){touch-action:pan-y}}

.additional-comments textarea{display:block;width:100%;box-sizing:border-box;min-height:110px;padding:14px;border:1px solid #d8dde2;border-radius:10px;background:#fff;color:#202327;font:inherit;line-height:1.6;resize:vertical}.additional-comments textarea:focus-visible{outline:2px solid #606c7f;outline-offset:3px}@media(max-width:760px){.additional-comments textarea{font-size:16px}}

[hidden]{display:none!important}
.mobile-scroll-cue{display:none!important}
.build-steps{position:sticky;top:-1px;z-index:8;display:flex;gap:5px;background:#fff;padding:9px 0 12px;border-bottom:1px solid #dce2e6}
.build-steps button{flex:1;padding:12px 5px;min-height:44px;border:1px solid #dce2e6;border-radius:7px;background:white;color:#53616c;font-size:11px;cursor:pointer}
.build-steps button[aria-current=step]{background:#17242e;border-color:#17242e;color:white}
.design-presets{padding:18px 0}.design-presets h3{margin:0;font-size:15px}.design-presets button{display:block;width:100%;text-align:left;border:1px solid #dce2e6;background:#fff;border-radius:8px;padding:14px;margin:8px 0;cursor:pointer}.design-presets strong{display:block;font-size:14px}.design-presets span{display:block;font-size:12px;line-height:1.5;color:#59636c;margin-top:4px}.design-presets button[aria-pressed=true]{border:2px solid #17242e;background:#f4f7f9}
.step-actions{display:flex;gap:10px;margin:20px 0}.step-actions button{min-height:48px;padding:12px 18px;border:1px solid #17242e;border-radius:6px;background:#17242e;color:white;cursor:pointer}.step-actions button:last-child{flex:1}
.fitment-path{padding:14px;border:1px solid #bac8d3;border-radius:8px;background:#eef4f8;font-size:12px;line-height:1.6;margin-bottom:14px}.fitment-path strong{display:block;margin-bottom:4px}.fitment-path button{margin-top:10px;background:white;border:1px solid #bac8d3;border-radius:5px;padding:9px 12px;cursor:pointer}
@media(max-width:720px){.stage{flex-basis:38%;min-height:205px}aside{padding-top:8px;scroll-padding-top:62px}.build-steps{top:-8px}.panel-heading{margin:8px 0}.preview-note{font-size:11px;padding:10px 12px;margin-bottom:10px}.preview-note a{display:inline}.intro h1{max-width:65%;font-size:13px}.build-steps button{font-size:10px}.choices{gap:7px}.step-actions{padding-bottom:12px}}
@media(max-width:720px) and (max-height:550px){.stage{min-height:140px;flex-basis:34%}}
@media(max-width:720px){aside{overscroll-behavior-y:contain;touch-action:pan-y;scroll-padding-top:104px}.build-steps{flex-wrap:wrap;gap:5px}.build-steps .mobile-scroll-cue{display:block!important;flex-basis:100%;min-height:28px;padding:4px 8px;border:0;border-radius:4px;background:#eef4f8;color:#344f63;font-size:11px;font-weight:600;letter-spacing:.01em;cursor:pointer}.build-steps>button:not(.mobile-scroll-cue){flex-basis:29%}}
@media(max-width:720px){body .eg-live-price{left:0;right:0;bottom:0;max-width:none;border-radius:0;padding:9px 16px;min-height:65px;box-shadow:0 -3px 15px #0001;display:flex;align-items:center;flex-wrap:wrap;gap:3px 12px}body .eg-live-price strong{font-size:20px}body .eg-live-price small{margin:0;font-size:11px}body .eg-live-price em{flex-basis:100%;margin:0;font-size:9px}aside{padding-bottom:88px}}

/* Mobile uses the storefront page's single scroll, with an optional 3D overlay. */
.mobile-preview-trigger{display:none}
@media(max-width:720px){
 html,body{height:auto;min-height:0;overflow:visible;background:#fff}
 header{display:none}
 main{height:auto;min-height:0;display:block;overflow:visible}
 body.mobile-options:not(.wheel-expanded) .stage{display:none}
 aside{height:auto;min-height:0;overflow:visible;overscroll-behavior:auto;touch-action:pan-y;padding:18px 16px 100px;border:0}
 .mobile-preview-trigger{display:block;width:100%;min-height:50px;margin:0 0 24px;padding:14px 18px;border:1px solid #17242e;border-radius:8px;background:#17242e;color:white;font-size:13px;font-weight:700;cursor:pointer}
 .build-steps{position:relative;top:auto;flex-wrap:nowrap;margin-bottom:8px}
 .build-steps>button:not(.mobile-scroll-cue){flex-basis:auto}
 .build-steps .mobile-scroll-cue,.step-actions{display:none!important}
 .option{scroll-margin-top:24px}
 .inline-option-help{clear:both;margin:12px 0;padding:14px;border:1px solid #dce2e6;border-radius:8px;background:#f6f8f9;color:#34434e;font-size:13px;font-weight:400;line-height:1.65;letter-spacing:0;text-transform:none}
 .wheel-expanded{height:100dvh;overflow:hidden}
 .wheel-expanded main{height:100dvh;overflow:hidden}
 .wheel-expanded .stage{display:block;position:fixed;inset:0;min-height:0;height:100dvh;max-height:none;background:#fff}
 .wheel-expanded #viewer{inset:68px 0 94px}
 .wheel-expanded .mobile-expand{position:absolute;left:16px;right:auto;top:12px;min-height:44px;padding:12px 18px;border-radius:8px;font-size:13px}
 .wheel-expanded .views{bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);gap:6px;white-space:nowrap}
 .wheel-expanded .views button{min-height:44px;padding:10px 15px;font-size:10px}
 .wheel-expanded #status.error{display:block;bottom:76px}
}
