/* Studio presentation for the RaceGrip configurator. */
.photo-stage{background:#fff;color:#171a1c;border-color:#d9dcda}
.stage-top,.stage-bottom{background:#fff}
.stage-top .eyebrow{color:#596164}
.stage-count{border-color:#c9cecc;color:#4c5656}
.photo-canvas,.photo-canvas.scene-preview{background:#fff}
.photo-canvas.scene-preview .preview-loader{background:#fffffff0;color:#252b2c}
.stage-bottom{border-top-color:#e5e7e5}
.photo-status{color:#535d5b}
.reset-button{color:#252c2a}
.site-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}
.site-footer .footer-brand{max-width:460px}
.site-footer nav{display:flex;gap:10px 24px;flex-wrap:wrap;justify-content:flex-end}
.site-footer nav a{font-size:11px;color:#d9dcd8;border-bottom:1px solid transparent;padding:2px 0}
.site-footer nav a:hover,.site-footer nav a:focus-visible{border-bottom-color:currentColor}
.custom-form-footer a{text-decoration:underline;text-underline-offset:2px}
#request-price{width:100%;justify-content:center;text-align:center}
#pay-now{margin-top:10px}
.primary-button[hidden],.wallet-note[hidden]{display:none}
.selected-tag{display:block;margin-top:7px;color:#f1f2ee;font-size:9px;font-weight:800;font-style:normal;letter-spacing:.2px}
.price-breakdown{display:grid;gap:7px;margin:-4px 0 18px;padding:14px 0;border-top:1px solid #454b4d;border-bottom:1px solid #454b4d}
.price-breakdown>div{display:flex;justify-content:space-between;gap:12px;color:#c7ccca;font-size:11px;line-height:1.4}
.price-breakdown strong{color:#f3f5f0;font-weight:700;white-space:nowrap}
.purchase .price-breakdown+button{margin-top:0}
@media(max-width:760px){.site-footer{flex-direction:column;gap:17px}.site-footer nav{justify-content:flex-start}.photo-canvas.scene-preview{height:auto;aspect-ratio:1/1}}

.legal-main{width:min(850px,calc(100% - 48px));margin:70px auto 90px}
.legal-kicker{font-size:11px;letter-spacing:2.4px;color:#b8c0bd;font-weight:700}
.legal-main h1{font-size:clamp(36px,6vw,65px);line-height:1.04;letter-spacing:-2.8px;margin:14px 0 18px}
.legal-lead{font-size:16px;line-height:1.75;color:#c6ccca;max-width:680px;margin:0 0 35px}
.legal-panel{border:1px solid #454b4a;background:#171a1b;padding:30px 34px;margin:15px 0}
.legal-panel h2{font-size:20px;letter-spacing:-.4px;margin:0 0 12px;color:#f2f4f1}
.legal-panel p,.legal-panel li,.legal-panel dd{color:#c1c8c5;font-size:13px;line-height:1.85}
.legal-panel p:last-child{margin-bottom:0}
.legal-panel ul{padding-left:20px;margin:8px 0 0}
.legal-panel dl{display:grid;grid-template-columns:150px 1fr;gap:9px 20px;margin:8px 0 0}
.legal-panel dt{font-size:12px;font-weight:700;color:#f1f3ef}
.legal-panel dd{margin:0}
.legal-panel a{text-decoration:underline;text-underline-offset:3px;color:#fff}
.legal-pending{border-left:3px solid #dfc789;background:#23231e;padding:17px 21px;margin-bottom:27px;color:#e7e1cf;font-size:13px;line-height:1.7}
.legal-back{display:inline-flex;align-items:center;gap:10px;margin-top:26px;color:#f2f4f1;border-bottom:1px solid #858d89;padding-bottom:5px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px}
.legal-updated{color:#899390;font-size:11px;margin-top:22px}
@media(max-width:650px){.legal-main{width:calc(100% - 32px);margin:48px auto 65px}.legal-panel{padding:23px 21px}.legal-panel dl{grid-template-columns:1fr;gap:2px}.legal-panel dd{margin-bottom:10px}}

/* A compact live view stays beside the choices on phones. */
.mobile-live-preview{display:none}
@media(max-width:760px){
  .config-panel{overflow:visible}
  .mobile-live-preview{position:sticky;top:env(safe-area-inset-top,0px);z-index:15;display:grid;grid-template-columns:clamp(155px,43vw,188px) minmax(0,1fr);align-items:center;gap:13px;padding:9px;background:#f8f9f7;color:#191d1e;border-bottom:1px solid #d6dbd8;box-shadow:0 10px 25px #0005}
  .mobile-live-media{width:100%;aspect-ratio:1;overflow:hidden;background:#fff}
  .mobile-live-media canvas{display:block;width:100%;height:100%}
  .mobile-live-media canvas[hidden]{display:none!important}
  .mobile-live-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
  .mobile-live-copy span{font-size:9px;letter-spacing:1.5px;font-weight:800;color:#737d7a}
  .mobile-live-copy strong{font-size:clamp(12px,3.4vw,16px);line-height:1.2;letter-spacing:-.3px}
  .mobile-live-copy small{font-size:10px;line-height:1.35;color:#687270}
  .mobile-live-copy a{font-size:10px;font-weight:800;border-bottom:1px solid currentColor;margin-top:3px}
}
@media(max-width:360px){.mobile-live-preview{grid-template-columns:125px minmax(0,1fr);gap:9px}.mobile-live-copy small{display:none}}
