/* Standalone registration form for [sw_register_form] — on-brand, theme-independent. */
@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Inter:wght@400;500;600;700&display=swap');

.sw-reg{
  --ink:#0E0E0E; --ink-3:#2A2A2A; --mute:#6B6B6B; --line:rgba(14,14,14,.12);
  --red:#E42127; --red-deep:#B6181E;
  max-width:640px; margin:32px auto;
  font-family:'Inter',system-ui,sans-serif; color:var(--ink);
  -webkit-font-smoothing:antialiased;
}
.sw-reg *{box-sizing:border-box}
.sw-reg-form{
  background:#fff; border:1px solid var(--line); border-radius:18px;
  padding:36px; box-shadow:0 30px 60px -30px rgba(0,0,0,.25);
}
.sw-reg-title{font-family:'Archivo Black',Archivo,system-ui,sans-serif;font-weight:900;font-size:26px;letter-spacing:-.02em;line-height:1.05;margin:0 0 6px}
.sw-reg-sub{font-size:14px;color:var(--ink-3);margin:0 0 24px;line-height:1.5}

.sw-reg-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.sw-reg-grid > .full{grid-column:1 / -1}
.sw-reg label{display:flex;flex-direction:column;gap:6px;margin:0}
.sw-reg label > span{font-size:13px;font-weight:600;color:var(--ink)}
.sw-reg label > span em{color:var(--red);font-style:normal}
.sw-reg input,.sw-reg select{
  width:100%;font-family:'Inter',sans-serif;font-size:14.5px;color:var(--ink);
  padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;
  outline:none;transition:border-color .15s,box-shadow .15s;
}
.sw-reg input:focus,.sw-reg select:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(0,0,0,.12)}
.sw-reg input::placeholder{color:#9b9b9b}
.sw-reg input[type=number]::-webkit-outer-spin-button,
.sw-reg input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.sw-reg-submit{margin-top:8px}
.sw-reg-btn{
  width:100%;background:var(--red);color:#fff;border:0;
  font-family:'Inter',sans-serif;font-weight:700;font-size:15px;
  height:54px;border-radius:10px;cursor:pointer;transition:background .15s,transform .15s;
  box-shadow:0 6px 14px -6px rgba(228,33,39,.45);
}
.sw-reg-btn:hover{background:var(--red-deep);transform:translateY(-1px)}
.sw-reg-btn:disabled{opacity:.7;cursor:default;transform:none}
.sw-reg-terms{font-size:12px;color:var(--mute);line-height:1.5;margin:14px 0 0}

/* the address autocomplete dropdown needs a positioned parent */
.sw-reg label{position:relative}

@media (max-width:600px){
  .sw-reg-form{padding:26px}
  .sw-reg-grid{grid-template-columns:1fr;gap:14px}
  .sw-reg-title{font-size:23px}
}

/* Inline field errors */
.sw-reg .sw-err{display:block;color:var(--red);font-size:12.5px;font-weight:600;margin-top:6px;line-height:1.4}
.sw-reg input.sw-invalid,.sw-reg select.sw-invalid{border-color:var(--red);box-shadow:0 0 0 3px rgba(228,33,39,.12)}

/* Thank-you (replaces the form on success) */
.sw-thanks{max-width:640px;margin:32px auto;background:#fff;border:1px solid var(--line,rgba(14,14,14,.12));border-radius:18px;padding:44px 36px;text-align:center;box-shadow:0 30px 60px -30px rgba(0,0,0,.25);font-family:'Inter',system-ui,sans-serif}
.sw-thanks-tick{width:60px;height:60px;border-radius:50%;background:#1FA85B;color:#fff;font-size:30px;line-height:60px;margin:0 auto 18px}
.sw-thanks h3{font-family:'Archivo Black',Archivo,system-ui,sans-serif;font-size:24px;letter-spacing:-.02em;color:#0E0E0E;margin:0 0 8px}
.sw-thanks p{font-size:15px;color:#2A2A2A;margin:0;line-height:1.55}

/* When the form is rendered inside the landing's apply grid, fill the column */
.apply-grid .sw-reg{margin:0;max-width:none;width:100%}

/* "Can't find address" manual-entry link */
.sw-ac-manual-item{border-top:1px solid var(--line,rgba(14,14,14,.12));color:var(--red,#E42127);font-size:12.5px;font-style:italic}
