/* =============================================
   1. LAYOUT: POSITION WITH INVISIBLE WRAPPER
   ============================================= */
@media (min-width: 768px) {
  /* We float them and mathematically simulate a "max-w-7xl mx-auto px-4" wrapper container bounds! */
  :is(.block, section, div[id^="block-"]):has(.custom-contact-left) {
    float: left !important;
    margin-left: calc(max(1rem, (100% - 80rem) / 2)) !important;
    width: calc(min(100% - 2rem, 80rem) * 0.32) !important;
    margin-right: calc(min(100% - 2rem, 80rem) * 0.03) !important;
    clear: none !important;
    box-sizing: border-box !important;
  }
  
  :is(.block, section, div[id^="block-"]):has(.webform-submission-contact-us-add-form),
  :is(.block, section, div[id^="block-"]):has(.webform-submission-contact-us-form) {
    float: left !important;
    width: calc(min(100% - 2rem, 80rem) * 0.65) !important;
    margin-right: calc(max(1rem, (100% - 80rem) / 2)) !important;
    clear: none !important;
    box-sizing: border-box !important;
  }
}

/* Add necessary padding constraints on mobile views */
@media (max-width: 767px) {
  :is(.block, section, div[id^="block-"]):has(.custom-contact-left),
  :is(.block, section, div[id^="block-"]):has(.webform-submission-contact-us-add-form),
  :is(.block, section, div[id^="block-"]):has(.webform-submission-contact-us-form) {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    box-sizing: border-box !important;
  }
}

/* Clear fix to prevent breaking the footer */
:is(.block, section, div[id^="block-"]):has(.webform-submission-contact-us-add-form)::after,
:is(.block, section, div[id^="block-"]):has(.webform-submission-contact-us-form)::after {
  content: "";
  display: table;
  clear: both;
}


/* =============================================
   2. CARD DESIGN: MAKE THE FORM A WHITE BOX
   ============================================= */
form.webform-submission-contact-us-add-form,
form.webform-submission-contact-us-form {
  border-radius: 1rem !important;
  border: 1px solid #e5e7eb !important;
  background: rgba(255, 255, 255, 0.8) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  padding: 1.5rem !important;
  box-sizing: border-box !important;
  margin-top: 0 !important;
  margin-bottom: 2.5rem !important;
  
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.5rem 1rem !important;
}

@media (min-width: 768px) {
  form.webform-submission-contact-us-add-form,
  form.webform-submission-contact-us-form {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

form.webform-submission-contact-us-add-form .form-item,
form.webform-submission-contact-us-form .form-item { margin: 0 !important; }

form.webform-submission-contact-us-add-form .form-item-phone-number,
form.webform-submission-contact-us-add-form .form-item-message,
form.webform-submission-contact-us-add-form .form-actions,
form.webform-submission-contact-us-form .form-item-phone-number,
form.webform-submission-contact-us-form .form-item-message,
form.webform-submission-contact-us-form .form-actions {
  grid-column: 1 / -1 !important;
}

/* =============================================
   3. HIDE LABELS & STYLE INPUTS
   ============================================= */
form.webform-submission-contact-us-add-form label,
form.webform-submission-contact-us-form label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
}

form.webform-submission-contact-us-add-form input[type="text"],
form.webform-submission-contact-us-add-form input[type="email"],
form.webform-submission-contact-us-add-form input[type="tel"],
form.webform-submission-contact-us-add-form textarea,
form.webform-submission-contact-us-form input[type="text"],
form.webform-submission-contact-us-form input[type="email"],
form.webform-submission-contact-us-form input[type="tel"],
form.webform-submission-contact-us-form textarea {
  width: 100% !important;
  padding: 0.75rem 1rem !important;
  border-radius: 0.5rem !important;
  border: 1px solid #d1d5db !important;
  background-color: #fff !important;
  font-family: inherit !important;
  font-size: 0.95rem !important;
  color: #111827 !important;
  outline: none !important;
  box-sizing: border-box !important;
  min-height: 48px !important;
}

form.webform-submission-contact-us-add-form textarea,
form.webform-submission-contact-us-form textarea {
  min-height: 120px !important;
}

form.webform-submission-contact-us-add-form input:focus,
form.webform-submission-contact-us-form input:focus,
form.webform-submission-contact-us-add-form textarea:focus,
form.webform-submission-contact-us-form textarea:focus {
  border-color: #016DD3 !important;
  box-shadow: 0 0 0 2px rgba(1, 109, 211, 0.2) !important;
}

form.webform-submission-contact-us-add-form .form-required::after,
form.webform-submission-contact-us-form .form-required::after {
  display: none !important;
}

/* =============================================
   4. THE SUBMIT BUTTON
   ============================================= */
/* Explicitly targets the new class you added to bypass online theme styles */
.custom-btn-submit {
  width: 100% !important;
  padding: 1rem 1.25rem !important;
  border-radius: 0.5rem !important;
  background-color: #016DD3 !important;
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  border: none !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
  margin: 0 !important;
  height: auto !important;
  box-sizing: border-box !important;
  line-height: normal !important;
}

.custom-btn-submit:hover {
  background-color: #0155A3 !important;
}
