/* Gravity Forms – sidebar styling (legacy markup, but safe if theme changes) */

#sidebar .gform_wrapper{
  background:#eee;
  padding:1rem;
  margin-top:0;
  border-radius:8px;
  box-shadow:0 2px 6px rgba(0,0,0,.06);
}

#sidebar .gform_wrapper .gform_body{ margin-top:0 !important; }
#sidebar .gform_wrapper h3{ margin:0 0 .75rem 0; }

/* Hide the required legend + GF heading (optional, matches your screenshots) */
#sidebar .gform_wrapper .gform_heading,
#sidebar .gform_wrapper .gform_required_legend{
  display:none !important;
}

/* -------------------------------
   LABEL STRATEGY (NEW STAGING)
   - Hide labels only for simple text inputs (placeholders used)
   - Keep labels for radio/select/textarea + checkbox
-------------------------------- */

/* Kill the OLD base.css rule that does: #sidebar ... label{display:none;} */
#sidebar .gform_wrapper .gform_body label{
  display:block !important;
}

/* Hide labels for text/email/tel only (accessible) */
#sidebar .gform_wrapper li.gfield--type-text > label,
#sidebar .gform_wrapper li.gfield--type-email > label,
#sidebar .gform_wrapper li.gfield--type-phone > label{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

/* Keep textarea/select/radio labels visible (your “question” labels) */
#sidebar .gform_wrapper li.gfield--type-textarea > label,
#sidebar .gform_wrapper li.gfield--type-select > label,
#sidebar .gform_wrapper li.gfield--type-radio > label{
  display:block !important;
  margin:0 0 .35rem 0 !important;
  position:static !important;
  clip:auto !important;
  width:auto !important;
  height:auto !important;
  overflow:visible !important;
  white-space:normal !important;
}

/* Inputs / selects / textarea */
#sidebar .gform_wrapper input[type="text"],
#sidebar .gform_wrapper input[type="email"],
#sidebar .gform_wrapper input[type="tel"],
#sidebar .gform_wrapper textarea,
#sidebar .gform_wrapper select{
  border:none;
  box-shadow:none;
  border-radius:6px;
  margin-bottom:.5rem;
  padding:.6rem .75rem;
  width:100%;
}

/* Match your compact sidebar sizing */
#sidebar .gform_wrapper input[type="text"],
#sidebar .gform_wrapper input[type="email"],
#sidebar .gform_wrapper input[type="tel"],
#sidebar .gform_wrapper select{
  height:2.4rem;
}

#sidebar .gform_wrapper textarea{
  height:3.2rem;
  resize:vertical;
}

/* Radios layout */
#sidebar .gform_wrapper .gfield_radio{
  margin:0 0 .5rem 0;
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
}
#sidebar .gform_wrapper .gfield_radio > li,
#sidebar .gform_wrapper .gfield_radio > .gchoice{
  width:calc(50% - .375rem);
  margin:0;
}
#sidebar .gform_wrapper .gfield_radio input[type="radio"]{
  width:auto;
  height:auto;
  margin:0 .4rem 0 0;
}

/* Ensure radio option labels are visible */
#sidebar .gform_wrapper .gfield_radio label{
  display:inline-block !important;
  position:static !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  clip:auto !important;
  overflow:visible !important;
  white-space:normal !important;
}

/* Checkbox row */
#sidebar .gform_wrapper .gfield_checkbox{
  margin:.25rem 0 .5rem;
}
#sidebar .gform_wrapper .gfield_checkbox > li,
#sidebar .gform_wrapper .gfield_checkbox > .gchoice{
  display:flex;
  align-items:flex-start;
  gap:.5rem;
}
#sidebar .gform_wrapper .gfield_checkbox input[type="checkbox"]{
  width:1.1rem;
  height:1.1rem;
  margin-top:.2rem;
}
#sidebar .gform_wrapper .gfield_checkbox label{
  display:inline-block !important;
  position:static !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  clip:auto !important;
  overflow:visible !important;
  white-space:normal !important;
}
#sidebar .gform_wrapper .gfield_checkbox label small{
  color:#333;
  font-size:.875rem;
}

/* Description / privacy policy line */
#sidebar .gform_wrapper .gfield_description{
  margin:0 0 1rem 0;
  font-size:.875rem;
}

/* Footer / submit */
#sidebar .gform_wrapper .gform_footer{
  text-align:center;
}
#sidebar .gform_wrapper .gform_button,
#sidebar .gform_wrapper input.gform_button,
#sidebar .gform_wrapper input[type="submit"]{
  width:100%;
  margin-bottom:0;
}

/* reCAPTCHA spacing + scale */
.sidebar .ginput_recaptcha{ margin:0 0 1rem; }
@media (min-width:1023px){
  .sidebar .ginput_recaptcha{ transform:scale(.77); float:right; }
}

/* Keep the GF internal heading (field_2_9). Hide the widget title above it. */
#sidebar .sidebar-widget > .widget-title {
  display: none !important;
}

/* If your widget title is sometimes rendered as an h3 directly */
#sidebar .sidebar-widget > h3.widget-title {
  display: none !important;
}

/* reCAPTCHA alignment */
#sidebar .ginput_recaptcha{
  margin:0 0 1rem;
  display:flex;
  justify-content:center; /* centered on mobile */
}

@media (min-width:1023px){
  #sidebar .ginput_recaptcha{
    justify-content:flex-end;   /* align right on desktop */
    transform:scale(.77);
    transform-origin:100% 0;    /* scale from top-right */
  }
}

