luxsol-roof-signup{--lsr-bg:#101010;--lsr-fg:#f5f3ed;--lsr-muted:#aaa8a2;--lsr-accent:#d4e7aa;font-family:Arial,sans-serif}
luxsol-roof-signup *,luxsol-roof-signup *::before,luxsol-roof-signup *::after{box-sizing:border-box}
luxsol-roof-signup [hidden]{display:none!important}
luxsol-roof-signup .lsr-dialog{width:440px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:28px;background:var(--lsr-bg);color:var(--lsr-fg);border:1px solid #373737;border-radius:18px;box-shadow:0 10px 30px #0003;overflow-y:auto;text-align:center}
luxsol-roof-signup .lsr-dialog[open]{animation:lsr-arrive 220ms cubic-bezier(0,0,.2,1)}
luxsol-roof-signup .lsr-dialog::backdrop{background:#0007;backdrop-filter:blur(3px)}
luxsol-roof-signup .lsr-top{position:relative;display:flex;justify-content:center;align-items:center;min-height:32px;margin-bottom:26px}
luxsol-roof-signup .lsr-top img{width:108px;height:auto;object-fit:contain}
luxsol-roof-signup button{font-family:inherit;cursor:pointer}
luxsol-roof-signup .lsr-close{position:absolute;right:0;top:0;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;background:none;color:var(--lsr-muted);font-size:24px;font-weight:400}
luxsol-roof-signup .lsr-kicker{margin:0 0 10px;font-size:11px;font-weight:400;line-height:1.5;letter-spacing:1.7px;text-transform:uppercase;color:var(--lsr-accent)}
luxsol-roof-signup .lsr-title{margin:0 0 14px;font-family:Arial,sans-serif;font-size:34px;font-weight:500;line-height:1.06;letter-spacing:-.9px;text-transform:none;color:var(--lsr-fg)}
luxsol-roof-signup .lsr-sub{margin:0 0 20px;font-size:14px;font-weight:400;line-height:1.5;color:var(--lsr-muted)}
luxsol-roof-signup .lsr-roof{--lsr-open:0;--lsr-angle:0deg;--lsr-sun:0;--lsr-sun-shift:-24px;position:relative;isolation:isolate;height:160px;margin:0 0 18px;border:1px solid #454545;border-radius:9px;overflow:hidden;background:radial-gradient(ellipse at 50% 80%,#d4e7aa22,#171717 80%);perspective:300px}
luxsol-roof-signup .lsr-roof::before,luxsol-roof-signup .lsr-roof::after{content:'';position:absolute;inset:-36px;z-index:0;pointer-events:none;transition:opacity 90ms ease-out,transform 90ms ease-out}
luxsol-roof-signup .lsr-roof::before{background:radial-gradient(ellipse at 90% 5%,#ffe2a9b3,transparent 68%),linear-gradient(135deg,transparent 35%,#ffc96b26 75%,transparent);opacity:calc(var(--lsr-sun)*.72);transform:translateX(var(--lsr-sun-shift))}
luxsol-roof-signup .lsr-roof::after{background:repeating-linear-gradient(165deg,transparent 0 15px,#ffe0a147 16px 23px,#080a065e 24px 38px);opacity:calc(var(--lsr-sun)*.66);transform:translate(var(--lsr-sun-shift),calc(var(--lsr-sun)*18px))}
luxsol-roof-signup .lsr-reward{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--lsr-accent);opacity:var(--lsr-open);transform:scale(calc(.86 + var(--lsr-open)*.14));transition:opacity 140ms ease-out,transform 140ms ease-out}
luxsol-roof-signup .lsr-reward span{font-size:11px;letter-spacing:1.8px;text-transform:uppercase}
luxsol-roof-signup .lsr-reward strong{font-size:46px;font-weight:500;line-height:1;letter-spacing:-1.8px}
luxsol-roof-signup .lsr-slats{position:absolute;inset:12px 10px;z-index:2;display:flex;flex-direction:column;gap:3px;perspective:250px;pointer-events:none}
luxsol-roof-signup .lsr-slats span{flex:1;width:100%;background:linear-gradient(0deg,#292929,#888);border-radius:1px;transform:rotateX(var(--lsr-angle));opacity:calc(1 - var(--lsr-open)*.9);transition:transform 120ms ease-out,opacity 120ms ease-out}
luxsol-roof-signup .lsr-slider-label{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 8px;font-size:11px;line-height:1.5;color:var(--lsr-muted)}
luxsol-roof-signup .lsr-slider{display:block;width:100%;height:48px;accent-color:var(--lsr-accent);margin:0 0 14px;cursor:ew-resize}
luxsol-roof-signup .lsr-controls{min-height:135px}
luxsol-roof-signup .lsr-controls:not([hidden]){animation:lsr-step-in 220ms cubic-bezier(0,0,.2,1)}
luxsol-roof-signup .lsr-form{margin:0}
luxsol-roof-signup .lsr-action{display:block;width:100%;min-height:48px;border:0;border-radius:7px;padding:14px;background:var(--lsr-fg);color:var(--lsr-bg);font-size:14px;font-weight:500;line-height:1.4;text-align:center;transition:transform 100ms ease-out}
luxsol-roof-signup .lsr-action:hover{background:var(--lsr-accent)}
luxsol-roof-signup .lsr-action:active{transform:scale(.98)}
luxsol-roof-signup .lsr-action:disabled{background:#292929;color:#aaa8a2;cursor:default}
luxsol-roof-signup .lsr-back{position:absolute;left:0;top:0;display:grid;place-items:center;width:32px;height:32px;background:none;border:0;padding:0;margin:0;color:var(--lsr-muted);font-size:20px}
luxsol-roof-signup .lsr-label{font-size:12px;color:var(--lsr-muted)}
luxsol-roof-signup .lsr-input{display:block;width:100%;padding:12px;height:48px;margin:0 0 14px;background:#1a1a1a;color:var(--lsr-fg);font-family:inherit;font-size:16px;border:1px solid #555;border-radius:7px;text-align:center}
luxsol-roof-signup .lsr-privacy{color:var(--lsr-muted);font-size:11px;line-height:1.5;margin:12px 0 0}
luxsol-roof-signup .lsr-privacy a{text-decoration:underline;color:inherit}
luxsol-roof-signup .lsr-terms{margin-top:10px;font-size:11px;line-height:1.5;color:var(--lsr-muted)}
luxsol-roof-signup .lsr-terms summary{cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:3px}
luxsol-roof-signup .lsr-terms summary::-webkit-details-marker{display:none}
luxsol-roof-signup .lsr-terms summary::after{content:' +'}
luxsol-roof-signup .lsr-terms[open] summary::after{content:' −'}
luxsol-roof-signup .lsr-error{font-size:12px;line-height:1.5;color:#ffc5c5;margin:12px 0 0}
luxsol-roof-signup .lsr-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
luxsol-roof-signup .lsr-preview-label{font-size:11px;line-height:1.5;margin:14px 0 0;color:var(--lsr-muted);text-align:center}
luxsol-roof-signup .lsr-teaser{position:fixed;bottom:20px;left:20px;z-index:35;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;background:#151515;border:1px solid #414141;color:var(--lsr-fg);padding:0 15px;border-radius:18px;font-size:13px;font-weight:400;line-height:1;white-space:nowrap;box-shadow:0 4px 15px #0002}
shopify-chat::part(activator){height:44px;min-height:44px;padding:0 14px;border-radius:18px;font-size:13px}
luxsol-roof-signup :focus-visible{outline:2px solid var(--lsr-accent);outline-offset:3px}
@keyframes lsr-arrive{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes lsr-step-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:400px){luxsol-roof-signup .lsr-dialog{padding:20px}luxsol-roof-signup .lsr-title{font-size:28px}luxsol-roof-signup .lsr-roof{height:138px}luxsol-roof-signup .lsr-reward strong{font-size:40px}luxsol-roof-signup .lsr-teaser{left:16px}}
@media(pointer:coarse){luxsol-roof-signup .lsr-top{min-height:44px}luxsol-roof-signup .lsr-close,luxsol-roof-signup .lsr-back{width:44px;height:44px}luxsol-roof-signup .lsr-terms summary{min-height:44px;display:grid;place-content:center}}
@media(prefers-reduced-motion:reduce){luxsol-roof-signup *,luxsol-roof-signup *::before,luxsol-roof-signup *::after{animation:none!important;transition:none!important}luxsol-roof-signup .lsr-dialog::backdrop{backdrop-filter:none}}
