.ls-member-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(17,17,17,.18);background:#fff;color:#111;padding:11px 15px;border-radius:999px;font:700 12px/1 'DM Sans',sans-serif;letter-spacing:.03em;cursor:pointer;white-space:nowrap}.ls-member-btn:hover{border-color:#111}.ls-member-dot{width:7px;height:7px;border-radius:50%;background:#f2c94c}.ls-auth-overlay{position:fixed;inset:0;z-index:2147483646;background:rgba(12,12,12,.58);backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:22px}.ls-auth-overlay.is-open{display:flex}.ls-auth-card{position:relative;width:min(920px,100%);display:grid;grid-template-columns:.92fr 1.08fr;background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.32)}.ls-auth-benefits{background:#111;color:#fff;padding:48px 42px;display:flex;flex-direction:column;justify-content:space-between;min-height:570px}.ls-auth-kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#f2c94c;font-weight:800}.ls-auth-benefits h2{font-family:'Playfair Display',serif;font-size:44px;line-height:1.02;margin:16px 0 18px}.ls-auth-benefits>div>p{color:#d7d7d7;line-height:1.65;max-width:390px}.ls-benefit-list{display:grid;gap:13px;margin-top:30px}.ls-benefit{display:flex;gap:12px;align-items:flex-start;color:#f4f4f4;font-size:14px}.ls-benefit i{font-style:normal;color:#f2c94c}.ls-auth-formwrap{padding:48px 48px 38px;position:relative}.ls-auth-close{position:absolute;right:20px;top:18px;border:0;background:#f4f4f2;width:36px;height:36px;border-radius:50%;font-size:22px;cursor:pointer}.ls-auth-tabs{display:flex;gap:22px;border-bottom:1px solid #e6e6e3;margin-bottom:28px}.ls-auth-tab{border:0;background:none;padding:0 0 13px;font-weight:800;color:#777;cursor:pointer;border-bottom:2px solid transparent}.ls-auth-tab.is-active{color:#111;border-color:#111}.ls-auth-panel{display:none}.ls-auth-panel.is-active{display:block}.ls-auth-panel h3{font-size:27px;margin:0 0 7px}.ls-auth-sub{color:#6b6b68;font-size:14px;line-height:1.5;margin:0 0 24px}.ls-auth-field{display:grid;gap:7px;margin-bottom:15px}.ls-auth-field label{font-size:12px;font-weight:800}.ls-auth-field input{width:100%;box-sizing:border-box;border:1px solid #d9d9d5;border-radius:12px;padding:14px 14px;font:500 14px 'DM Sans',sans-serif;outline:none}.ls-auth-field input:focus{border-color:#111;box-shadow:0 0 0 3px rgba(242,201,76,.2)}.ls-auth-submit{width:100%;border:0;border-radius:999px;background:#111;color:#fff;padding:15px 20px;font-weight:800;cursor:pointer;margin-top:6px}.ls-auth-submit:hover{background:#2a2a2a}.ls-auth-submit:disabled{opacity:.55;cursor:wait}.ls-auth-note{font-size:11px;color:#858581;line-height:1.5;margin-top:16px}.ls-auth-msg{min-height:20px;margin:12px 0 0;font-size:13px;font-weight:700}.ls-auth-msg.error{color:#a32727}.ls-auth-msg.success{color:#267144}.ls-member-banner{background:#f5f1e6;border:1px solid #e6ddc4;border-radius:18px;padding:18px 20px;margin:0 0 24px;display:flex;justify-content:space-between;gap:18px;align-items:center}.ls-member-banner strong{display:block;margin-bottom:3px}.ls-member-banner span{font-size:13px;color:#67635b}.ls-member-banner button{border:0;background:#111;color:#fff;border-radius:999px;padding:10px 15px;font-weight:800;cursor:pointer}.ls-studio-gate{position:absolute;inset:0;z-index:20;background:rgba(255,255,255,.78);backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:25px;text-align:center}.ls-studio-gate[hidden]{display:none}.ls-studio-gate-card{max-width:470px;background:#fff;border:1px solid #e4e2dc;border-radius:22px;padding:32px;box-shadow:0 18px 50px rgba(0,0,0,.12)}.ls-studio-gate-card .spark{font-size:26px}.ls-studio-gate-card h3{font:600 30px/1.1 'Playfair Display',serif;margin:10px 0}.ls-studio-gate-card p{color:#686863;line-height:1.55}.ls-studio-gate-card button{border:0;background:#111;color:#fff;border-radius:999px;padding:14px 22px;font-weight:800;cursor:pointer}.studio-canvas-wrap{position:relative}
@media(max-width:800px){.ls-auth-card{grid-template-columns:1fr;max-width:520px}.ls-auth-benefits{min-height:auto;padding:32px}.ls-auth-benefits h2{font-size:34px}.ls-benefit-list{display:none}.ls-auth-formwrap{padding:38px 26px 28px}.header-actions .ls-member-btn{padding:10px 12px}.ls-member-btn .ls-member-label{display:none}}

/* V2 — visible member / AI Visualizer entry point */
.ls-ai-community-home{
  max-width:1240px;
  margin:42px auto 56px;
  padding:38px 42px;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:44px;
  align-items:center;
  background:linear-gradient(135deg,#fbf8ef 0%,#f3ead1 100%);
  border:1px solid #eadfbf;
  border-radius:26px;
  box-shadow:0 18px 48px rgba(17,17,17,.07);
}
.ls-ai-community-copy h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(34px,4vw,58px);
  line-height:1.02;
  margin:10px 0 16px;
  max-width:760px;
}
.ls-ai-community-copy>p:not(.eyebrow){
  max-width:720px;
  color:#5e5a51;
  line-height:1.65;
  font-size:15px;
}
.ls-ai-community-actions{
  display:flex;
  gap:16px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:24px;
}
.ls-ai-primary{
  box-shadow:0 10px 24px rgba(17,17,17,.13);
}
.ls-ai-signin-link{
  border:0;
  background:transparent;
  color:#111;
  font-weight:800;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:4px;
}
.ls-ai-community-benefits{
  display:grid;
  gap:13px;
}
.ls-ai-community-benefits>div{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 18px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  border-radius:16px;
  box-shadow:0 8px 22px rgba(17,17,17,.04);
}
.ls-ai-community-benefits strong{
  width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;
  background:#111;color:#f2c94c;
  font-size:17px;
}
.ls-ai-community-benefits span{
  display:grid;gap:3px;
}
.ls-ai-community-benefits b{font-size:14px}
.ls-ai-community-benefits small{font-size:12px;color:#706b61;line-height:1.35}
.header-actions .ls-member-btn{
  border-color:#111;
  font-weight:800;
}
@media(max-width:900px){
  .ls-ai-community-home{
    grid-template-columns:1fr;
    margin:24px 16px 40px;
    padding:28px 24px;
    gap:26px;
  }
}

.ls-marketing-optin{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin:18px 0 12px;
  padding:13px 14px;
  border:1px solid #e2e0da;
  background:#faf9f5;
  border-radius:13px;
  cursor:pointer;
}
.ls-marketing-optin input{margin-top:3px;accent-color:#111}
.ls-marketing-optin span{display:grid;gap:3px}
.ls-marketing-optin b{font-size:12px}
.ls-marketing-optin small{font-size:11px;line-height:1.45;color:#6d6960}
.ls-forgot-password{
  width:100%;
  margin-top:13px;
  border:0;
  background:transparent;
  color:#555;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}
.ls-forgot-password:disabled{opacity:.5;cursor:wait}

/* Cleaner desktop header so Sign In does not crowd Contact / Quote / Cart. */
@media (min-width:1181px){
  .site-header{
    grid-template-columns:250px minmax(0,1fr) auto !important;
    column-gap:22px !important;
    padding-left:34px !important;
    padding-right:34px !important;
  }
  .brand{width:250px !important}
  .main-nav{gap:clamp(15px,1.25vw,24px) !important;align-items:center}
  .main-nav a{font-size:11px !important;letter-spacing:.07em !important}
  .main-nav .shop-now-link{padding:11px 14px !important}
  .header-actions{gap:8px !important}
  .header-actions .ls-member-btn{
    padding:10px 13px !important;
    min-width:auto !important;
    border-radius:999px !important;
    font-size:11px !important;
    letter-spacing:.04em !important;
  }
  .header-cta{padding:12px 16px !important;font-size:11px !important;white-space:nowrap}
  .header-cart{padding:11px 12px !important;font-size:11px !important;white-space:nowrap}
}
@media (min-width:1181px) and (max-width:1600px){
  .site-header{
    grid-template-columns:220px minmax(0,1fr) auto !important;
    column-gap:16px !important;
    padding-left:24px !important;
    padding-right:24px !important;
  }
  .brand{width:220px !important}
  .main-nav{gap:14px !important}
  .main-nav a{font-size:10px !important}
  .header-actions .ls-member-btn,.header-cta,.header-cart{font-size:10px !important}
}

/* Mobile auth fix: the form must scroll fully and the floating Shop Now button must not cover it. */
body.ls-auth-open{overflow:hidden}
body.ls-auth-open #ls-shop-now-fixed{display:none !important}
.ls-auth-overlay.is-open{overflow-y:auto;-webkit-overflow-scrolling:touch}

@media(max-width:800px){
  .ls-auth-overlay{
    align-items:flex-start;
    justify-content:flex-start;
    padding:0;
  }
  .ls-auth-overlay.is-open{display:block}
  .ls-auth-card{
    width:100%;
    max-width:none;
    min-height:100dvh;
    border-radius:0;
    overflow:visible;
    box-shadow:none;
  }
  .ls-auth-benefits{
    padding:22px 20px 18px;
  }
  .ls-auth-benefits h2{
    font-size:29px;
    margin:10px 0 8px;
  }
  .ls-auth-benefits>div>p{
    font-size:13px;
    line-height:1.45;
    margin:0;
  }
  .ls-auth-benefits small{display:none}
  .ls-auth-formwrap{
    padding:24px 20px calc(44px + env(safe-area-inset-bottom));
  }
  .ls-auth-close{
    position:fixed;
    right:14px;
    top:12px;
    z-index:3;
    box-shadow:0 8px 18px rgba(0,0,0,.12);
  }
  .ls-auth-tabs{
    position:sticky;
    top:0;
    z-index:2;
    background:#fff;
    margin:0 -20px 22px;
    padding:0 20px;
  }
  .ls-auth-panel h3{font-size:24px}
  .ls-auth-field{margin-bottom:12px}
  .ls-auth-field input{padding:13px 12px}
  .ls-marketing-optin{margin:14px 0 10px}
  .ls-auth-submit{
    min-height:52px;
    margin-top:8px;
  }
}

.ls-password-wrap{
  position:relative;
}
.ls-password-wrap input{
  padding-right:82px !important;
}
.ls-password-toggle{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  min-width:58px;
  min-height:34px;
  border:0;
  border-radius:999px;
  background:#f2c94c;
  color:#111;
  font:800 11px/1 'DM Sans',sans-serif;
  cursor:pointer;
}
.ls-password-toggle:hover{
  background:#111;
  color:#fff;
}
.ls-password-toggle[aria-pressed="true"]{
  background:#111;
  color:#fff;
}

@media(max-width:800px){
  .ls-password-wrap input{
    padding-right:78px !important;
  }
  .ls-password-toggle{
    min-height:36px;
  }
}


/* Lead capture fields */
.ls-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ls-auth-field select{width:100%;box-sizing:border-box;border:1px solid #d9d9d5;border-radius:12px;padding:14px 38px 14px 14px;font:500 14px 'DM Sans',sans-serif;outline:none;background:#fff;color:#111}
.ls-auth-field select:focus{border-color:#111;box-shadow:0 0 0 3px rgba(242,201,76,.2)}
.ls-optional{font-weight:600;color:#8a8a84;font-size:10px;margin-left:4px}
@media(max-width:560px){.ls-auth-grid{grid-template-columns:1fr}}
