.shr-form{max-width:720px;}
.shr-row{margin:0 0 14px 0;}
.shr-row label{display:block;font-weight:700;margin:0 0 6px 0;}
.shr-row input,.shr-row select,.shr-row textarea{
  width:100%; padding:10px 12px; border:1px solid #d1d5db; border-radius:10px; box-sizing:border-box;
}
.shr-inline{display:flex; gap:12px;}
.shr-inline__col{flex:1 1 0;}
.shr-help{font-size:13px;color:#6b7280;margin-top:6px;}
.shr-help--err{color:#b91c1c;}
.shr-btn{
  display:inline-block; padding:10px 14px; border-radius:12px;
  border:0; cursor:pointer; font-weight:800;
}
.shr-btn:disabled{opacity:.6; cursor:not-allowed;}

.shr-alert{padding:10px 12px;border-radius:12px;margin:0 0 14px 0;}
.shr-alert--ok{background:#ecfdf5;border:1px solid #10b981;}
.shr-alert--err{background:#fef2f2;border:1px solid #ef4444;}

/* --- Terms checkbox row fix --- */
.shr-row--terms{
  margin-top: 10px;
}

.shr-row--terms label{
  /* override the default .shr-row label styling */
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
  margin: 0;
}

/* The first placeholder label we added (&nbsp;) should not take space */
.shr-row--terms > label:first-child{
  display: none;
}

.shr-row--terms input[type="checkbox"]{
  /* override the default .shr-row input styling (width:100% etc.) */
  width: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  margin: 3px 0 0 0;
  box-sizing: border-box;
}

/* optional: nicer link behavior */
.shr-row--terms a{
  text-decoration: underline;
}