/* Layout shell similar to reference */
.jw-b2b-wrap{ padding: 10px 0; }
.jw-b2b-shell{
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 18px;
  align-items: start;
}
.jw-b2b-main{ min-width: 0; }
.jw-b2b-box{
  border: 1px solid rgba(0,0,0,.10);
  background: #fff;
  border-radius: 10px;
  padding: 18px;
  box-shadow: 0 2px 10px rgba(15,23,42,0.03);
}
.jw-b2b-box--wide{ padding: 18px 18px 6px 18px; }
.jw-b2b-title{ font-size: 20px; margin: 0 0 8px; color: #111; }
.jw-b2b-sub{ margin: 0 0 12px; font-size: 13px; color: rgba(0,0,0,.72); }

.jw-b2b-section{ border-top: 1px solid rgba(0,0,0,.08); padding-top: 14px; margin-top: 14px; }
.jw-b2b-section__title{ font-weight: 600; font-size: 14px; margin-bottom: 10px; }

.jw-b2b-form{ margin: 0; }
.jw-b2b-field{ margin-bottom: 10px; }
.jw-b2b-field--req .jw-b2b-label:before{ content:"* "; color:#e11d48; font-weight:700; }
.jw-b2b-label{ display:block; font-size: 12px; margin: 0 0 6px; color: rgba(0,0,0,.70); }
.jw-b2b-input{
  width: 100%;
  padding: 10px 10px;
  border: 1px solid rgba(0,0,0,.16);
  border-radius: 6px;
  background: #fff;
  font-size: 14px;
  outline: none;
}
.jw-b2b-input:focus{ border-color: rgba(0,0,0,.30); box-shadow: 0 0 0 3px rgba(0,0,0,.04); }
.jw-b2b-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.jw-b2b-radio{ display:flex; gap: 16px; flex-wrap: wrap; font-size: 13px; color: rgba(0,0,0,.78); }
.jw-b2b-radio--wrap{ gap: 10px 16px; }
.jw-b2b-radio label{ display:flex; gap: 6px; align-items:center; }

.jw-b2b-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 6px;
  border: 1px solid rgba(0,0,0,.18);
  background: #f3f4f6;
  cursor: pointer;
  font-weight: 600;
}
.jw-b2b-btn--primary{
  background: #ef4444;
  border-color: #ef4444;
  color: #fff;
}
.jw-b2b-btn--ghost{
  background: #fff;
}
.jw-b2b-meta{ margin-top: 10px; font-size: 13px; }
.jw-b2b-meta a{ text-decoration:none; }

/* Sidebar */
.jw-b2b-sidebox{
  border: 1px solid rgba(0,0,0,.10);
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}
.jw-b2b-sidebox__item{
  padding: 10px 12px;
  border-bottom: 1px solid rgba(0,0,0,.06);
  font-size: 13px;
}
.jw-b2b-sidebox__item a{ color: rgba(0,0,0,.78); text-decoration:none; }
.jw-b2b-sidebox__item--active{ background: rgba(239,68,68,.08); font-weight: 700; color: #ef4444; }
.jw-b2b-sidebox__item:last-child{ border-bottom: none; }

/* Signature */
.jw-b2b-sign{ border: 1px solid rgba(0,0,0,.12); border-radius: 8px; padding: 10px; background: #fff; }
.jw-b2b-sign canvas{ width: 100%; height: 180px; border: 1px dashed rgba(0,0,0,.18); border-radius: 6px; background:#fff; }
.jw-b2b-sign__actions{ margin-top: 8px; display:flex; justify-content:flex-start; }

.jw-b2b-agree{ margin-top: 12px; display:grid; gap: 8px; font-size: 13px; color: rgba(0,0,0,.78); }
.jw-b2b-submit{ margin: 14px 0 18px; display:flex; justify-content:flex-end; }

/* Alerts */
.jw-b2b-alert{
  max-width: 1100px;
  margin: 0 auto 12px auto;
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 14px;
}
.jw-b2b-alert--error{ border: 1px solid rgba(220,38,38,.25); background: rgba(220,38,38,.06); }
.jw-b2b-alert--success{ border: 1px solid rgba(34,197,94,.25); background: rgba(34,197,94,.06); }
.jw-b2b-alert--info{ border: 1px solid rgba(59,130,246,.25); background: rgba(59,130,246,.06); }
.jw-b2b-errors{ margin:0; padding-left: 18px; }

/* Locked price UI */
.jw-b2b-locked{ font-weight: 600; opacity: .9; }
.jw-b2b-note{ margin-top: 10px; padding: 10px 12px; border-radius: 8px; background: rgba(59,130,246,.06); border: 1px solid rgba(59,130,246,.20); }

/* Conditional blocks */
.jw-b2b-conditional[hidden]{ display:none !important; }

@media (max-width: 920px){
  .jw-b2b-shell{ grid-template-columns: 1fr; }
}
@media (max-width: 720px){
  .jw-b2b-grid{ grid-template-columns: 1fr; }
  .jw-b2b-submit{ justify-content: stretch; }
  .jw-b2b-btn--primary{ width: 100%; }
}


/* Tabs (My Account logged-out) */
.jw-b2b-tabs{
  display:flex;
  gap:8px;
  margin: 10px 0 12px;
  flex-wrap: wrap;
}
.jw-b2b-tab{
  padding: 9px 12px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.16);
  background:#fff;
  cursor:pointer;
  font-weight:700;
  font-size: 13px;
}
.jw-b2b-tab--active{
  background: rgba(239,68,68,.10);
  border-color: rgba(239,68,68,.40);
  color:#ef4444;
}
.jw-b2b-tabpane{ display:none; }
.jw-b2b-tabpane--active{ display:block; }

/* Login box: narrow on desktop by default (login tab is default active) */
/* When register tab is active, JS removes jw-b2b-box--auth-login class → full width */
@media (min-width: 721px){
  .jw-b2b-box--auth {
    max-width: 980px !important;
    transition: max-width 0.2s ease;
  }
  .jw-b2b-box--auth.jw-b2b-box--auth-register {
    max-width: 100%;
  }
}


.jw-b2b-cta{display:inline-flex;align-items:center;justify-content:center;gap:6px}


.g-recaptcha{transform-origin:0 0;}
@media(max-width:420px){.g-recaptcha{transform:scale(.92);}}
