.r188-volunteer-form-wrap{max-width:100%}
.r188-volunteer-form{display:grid;gap:18px}
.r188-v-grid,.r188v-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.r188-v-field{display:grid;gap:6px;min-width:0}
.r188-v-half{grid-column:span 1}
.r188-v-full{grid-column:1/-1}
.r188-v-field>label,.r188-v-field>legend{font-weight:700}
.r188-v-field input[type=text],.r188-v-field input[type=email],.r188-v-field input[type=tel],.r188-v-field input[type=number],.r188-v-field input[type=date],.r188-v-field select,.r188-v-field textarea{width:100%;box-sizing:border-box}
.r188-v-field textarea{min-height:110px}

/* Multi-select checkbox groups */
.r188-volunteer-form fieldset.r188-v-checkbox-group{
  min-width:0;
  margin:0;
  padding:14px 14px 15px;
  border:1px solid #d6e0ec;
  border-radius:8px;
  background:#fff;
}
.r188-v-checkbox-group>legend{
  padding:0 6px;
  margin-left:-2px;
  font-weight:700;
  line-height:1.25;
}
.r188-v-select-many{
  display:block;
  margin:0 0 10px;
  color:#64748b;
  font-size:.82rem;
  line-height:1.35;
}
.r188-v-check-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  width:100%;
}
.r188-v-check-grid .r188-v-check-option{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr);
  align-items:start;
  gap:8px;
  min-width:0;
  margin:0!important;
  padding:8px 9px;
  border:1px solid #e2e8f0;
  border-radius:7px;
  background:#f8fafc;
  color:inherit;
  font-weight:400!important;
  font-size:.9rem;
  line-height:1.35;
  cursor:pointer;
  box-sizing:border-box;
}
.r188-v-check-grid .r188-v-check-option:hover{background:#f1f6fb;border-color:#c9d7e7}
.r188-v-check-grid .r188-v-check-option:has(input:checked){background:#eef6ff;border-color:#9fc4e8}
.r188-v-check-grid .r188-v-check-option input[type=checkbox]{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  max-width:16px!important;
  margin:2px 0 0!important;
  padding:0!important;
  flex:none!important;
  box-sizing:border-box;
}
.r188-v-check-grid .r188-v-check-option span{display:block;min-width:0;overflow-wrap:anywhere}

.r188-v-radio-list label,.r188-v-single-check label{font-weight:400}
.r188-v-radio-list{display:flex;gap:16px;flex-wrap:wrap}
.r188-v-help{font-size:.86rem;color:#64748b}
.r188-required{color:#c8202f}
.r188-form-errors,.r188-form-success{padding:14px 16px;border:1px solid;border-radius:7px;margin-bottom:18px}
.r188-form-errors{background:#fff3f3;border-color:#e7aaaa;color:#8a1c1c}
.r188-form-errors ul{margin:.5rem 0 0 1.2rem}
.r188-form-success{background:#e9f8ef;border-color:#8ed7ad;color:#0b6b3d}
.r188-v-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.r188-volunteer-form fieldset:not(.r188-v-checkbox-group){min-width:0;margin:0;padding:14px 16px}
.r188-volunteer-form button[type=submit]{cursor:pointer}

@media(max-width:760px){
  .r188-v-check-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .r188-v-grid,.r188v-edit-grid{grid-template-columns:1fr}
  .r188-v-half,.r188-v-full{grid-column:1/-1}
}

/* v2.0.2: The Repeal188 theme makes all volunteer fieldsets a two-column grid.
   Checkbox groups need their legend/help and choices to use the full field width. */
.r188-volunteer-page .r188-volunteer-form fieldset.r188-v-checkbox-group,
.r188-volunteer-form fieldset.r188-v-checkbox-group{
  display:block!important;
  grid-template-columns:none!important;
}
.r188-volunteer-page .r188-volunteer-form fieldset.r188-v-checkbox-group .r188-v-select-many,
.r188-volunteer-form fieldset.r188-v-checkbox-group .r188-v-select-many{
  display:block!important;
  width:100%!important;
  margin:2px 0 10px!important;
}
.r188-volunteer-page .r188-volunteer-form fieldset.r188-v-checkbox-group .r188-v-check-grid,
.r188-volunteer-form fieldset.r188-v-checkbox-group .r188-v-check-grid{
  width:100%!important;
  margin:0!important;
  grid-column:1/-1!important;
}

/* Cloudflare Turnstile widget spacing (Repeal188 Security v1.0.0) */
.r188-turnstile { margin: 18px 0; }
.r188-hp-wrap { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
