/* Contact Form Global Styling - All Location Forms */

/* Form Container - target the parent block with high specificity */
.custom-form-container .block.block-custom-form,
div.block.block-custom-form,
.block.block-custom-form{
  background:#fff !important;
  padding:24px !important;
  border-radius:12px !important;
  box-shadow:0 4px 20px rgba(0,0,0,0.1) !important;
  max-width:500px !important;
  display:block !important;
}

/* Form Title */
#form_2 .block-title,
#form_4 .block-title,
#form_5 .block-title,
#form_6 .block-title,
#form_7 .block-title{
  margin:0 0 20px 0;
  text-align:center;
}

#form_2 .block-title strong,
#form_4 .block-title strong,
#form_5 .block-title strong,
#form_6 .block-title strong,
#form_7 .block-title strong{
  font-size:22px!important;
  font-weight:700!important;
  color:#3e7db5!important;
}

/* Field container */
#form_2 .field,
#form_4 .field,
#form_5 .field,
#form_6 .field,
#form_7 .field{
  width:100%!important;
  margin:0 0 15px 0!important;
  padding:0!important;
  float:none!important;
  clear:both!important;
}

/* Labels */
#form_2 .label,
#form_4 .label,
#form_5 .label,
#form_6 .label,
#form_7 .label{
  display:block!important;
  width:100%!important;
  margin:0 0 6px 0!important;
  padding:0!important;
  float:none!important;
  font-weight:600!important;
  font-size:14px!important;
  color:#333!important;
}

/* Control container */
#form_2 .control,
#form_4 .control,
#form_5 .control,
#form_6 .control,
#form_7 .control{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
}

/* Input Fields, Select and Textarea */
#form_2 input.input-text,
#form_2 select,
#form_2 textarea,
#form_4 input.input-text,
#form_4 select,
#form_4 textarea,
#form_5 input.input-text,
#form_5 select,
#form_5 textarea,
#form_6 input.input-text,
#form_6 select,
#form_6 textarea,
#form_7 input.input-text,
#form_7 select,
#form_7 textarea{
  width:100%!important;
  padding:14px!important;
  margin:0!important;
  border:1px solid #ddd!important;
  border-radius:8px!important;
  box-sizing:border-box!important;
  font-size:15px!important;
  background:#fafafa!important;
  transition:border-color 0.2s,box-shadow 0.2s;
}

#form_2 textarea,
#form_4 textarea,
#form_5 textarea,
#form_6 textarea,
#form_7 textarea{
  min-height:100px!important;
  resize:vertical!important;
}

#form_2 input.input-text::placeholder,
#form_2 textarea::placeholder,
#form_4 input.input-text::placeholder,
#form_4 textarea::placeholder,
#form_5 input.input-text::placeholder,
#form_5 textarea::placeholder,
#form_6 input.input-text::placeholder,
#form_6 textarea::placeholder,
#form_7 input.input-text::placeholder,
#form_7 textarea::placeholder{
  color:#999!important;
  opacity:1;
}

/* Select dropdown styling */
#form_2 select,
#form_4 select,
#form_5 select,
#form_6 select,
#form_7 select{
  -webkit-appearance:none!important;
  -moz-appearance:none!important;
  appearance:none!important;
  background-image:linear-gradient(45deg,transparent 50%,#666 50%),linear-gradient(135deg,#666 50%,transparent 50%)!important;
  background-position:calc(100% - 20px) center,calc(100% - 14px) center!important;
  background-size:6px 6px,6px 6px!important;
  background-repeat:no-repeat!important;
  color:#333!important;
  line-height:1.2!important;
}

#form_2 select option:first-child,
#form_4 select option:first-child,
#form_5 select option:first-child,
#form_6 select option:first-child,
#form_7 select option:first-child{
  color:#999;
}

#form_2 select:invalid,
#form_4 select:invalid,
#form_5 select:invalid,
#form_6 select:invalid,
#form_7 select:invalid{
  color:#999!important;
}

/* Focus states */
#form_2 input.input-text:focus,
#form_2 select:focus,
#form_2 textarea:focus,
#form_4 input.input-text:focus,
#form_4 select:focus,
#form_4 textarea:focus,
#form_5 input.input-text:focus,
#form_5 select:focus,
#form_5 textarea:focus,
#form_6 input.input-text:focus,
#form_6 select:focus,
#form_6 textarea:focus,
#form_7 input.input-text:focus,
#form_7 select:focus,
#form_7 textarea:focus{
  outline:none!important;
  border-color:#3e7db5!important;
  box-shadow:0 0 0 3px rgba(62,125,181,0.15)!important;
  background:#fff!important;
}

/* Submit Button */
#form_2 button[type=submit],
#form_2 .action.submit,
#form_2 .action.save.primary,
#form_4 button[type=submit],
#form_4 .action.submit,
#form_4 .action.save.primary,
#form_5 button[type=submit],
#form_5 .action.submit,
#form_5 .action.save.primary,
#form_6 button[type=submit],
#form_6 .action.submit,
#form_6 .action.save.primary,
#form_7 button[type=submit],
#form_7 .action.submit,
#form_7 .action.save.primary{
  width:100%!important;
  padding:16px 24px!important;
  background:#3e7db5!important;
  color:#fff!important;
  border:none!important;
  border-radius:8px!important;
  font-size:16px!important;
  font-weight:700!important;
  cursor:pointer!important;
  transition:background 0.2s,transform 0.1s;
  margin-top:10px!important;
}

#form_2 button[type=submit]:hover,
#form_2 .action.submit:hover,
#form_2 .action.save.primary:hover,
#form_4 button[type=submit]:hover,
#form_4 .action.submit:hover,
#form_4 .action.save.primary:hover,
#form_5 button[type=submit]:hover,
#form_5 .action.submit:hover,
#form_5 .action.save.primary:hover,
#form_6 button[type=submit]:hover,
#form_6 .action.submit:hover,
#form_6 .action.save.primary:hover,
#form_7 button[type=submit]:hover,
#form_7 .action.submit:hover,
#form_7 .action.save.primary:hover{
  background:#2d6a9f!important;
}

#form_2 button[type=submit]:active,
#form_2 .action.save.primary:active,
#form_4 button[type=submit]:active,
#form_4 .action.save.primary:active,
#form_5 button[type=submit]:active,
#form_5 .action.save.primary:active,
#form_6 button[type=submit]:active,
#form_6 .action.save.primary:active,
#form_7 button[type=submit]:active,
#form_7 .action.save.primary:active{
  transform:scale(0.98);
}

/* Checkbox Field */
#form_2 .field.checkbox,
#form_4 .field.checkbox,
#form_5 .field.checkbox,
#form_6 .field.checkbox,
#form_7 .field.checkbox{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  margin:15px 0!important;
}

#form_2 .field.checkbox > .label,
#form_4 .field.checkbox > .label,
#form_5 .field.checkbox > .label,
#form_6 .field.checkbox > .label,
#form_7 .field.checkbox > .label{
  display:none!important;
}

#form_2 .field.checkbox .control,
#form_4 .field.checkbox .control,
#form_5 .field.checkbox .control,
#form_6 .field.checkbox .control,
#form_7 .field.checkbox .control{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
}

#form_2 .field.checkbox .control .label,
#form_4 .field.checkbox .control .label,
#form_5 .field.checkbox .control .label,
#form_6 .field.checkbox .control .label,
#form_7 .field.checkbox .control .label{
  font-size:12px!important;
  color:#666!important;
  font-weight:400!important;
  margin:0!important;
  display:inline!important;
  width:auto!important;
}

#form_2 .field.checkbox input[type=checkbox],
#form_4 .field.checkbox input[type=checkbox],
#form_5 .field.checkbox input[type=checkbox],
#form_6 .field.checkbox input[type=checkbox],
#form_7 .field.checkbox input[type=checkbox]{
  width:18px!important;
  height:18px!important;
  margin:0!important;
  flex-shrink:0;
}

/* reCAPTCHA spacing */
#form_2 .g-recaptcha,
#form_4 .g-recaptcha,
#form_5 .g-recaptcha,
#form_6 .g-recaptcha,
#form_7 .g-recaptcha{
  margin:15px 0!important;
}

/* Actions toolbar */
#form_2 .actions-toolbar,
#form_4 .actions-toolbar,
#form_5 .actions-toolbar,
#form_6 .actions-toolbar,
#form_7 .actions-toolbar{
  margin-top:15px!important;
}

#form_2 .actions-toolbar .primary,
#form_4 .actions-toolbar .primary,
#form_5 .actions-toolbar .primary,
#form_6 .actions-toolbar .primary,
#form_7 .actions-toolbar .primary{
  width:100%!important;
}

/* Mobile Adjustments */
@media(max-width:768px){
  #form_2 .block-custom-form,
  #form_4 .block-custom-form,
  #form_5 .block-custom-form,
  #form_6 .block-custom-form,
  #form_7 .block-custom-form{
    padding:20px;
    margin:0 auto;
    max-width:100%;
  }

  /* Force columns to stack on mobile */
  .pagebuilder-column-line{
    flex-direction:column !important;
    display:flex !important;
  }

  .pagebuilder-column{
    width:100% !important;
    max-width:100% !important;
    flex:0 0 100% !important;
  }

  /* Make Google Maps responsive */
  iframe[src*="google.com/maps"]{
    width:100% !important;
    height:300px !important;
  }
}
