/* ✅ Prevent horizontal scrolling */
body {
  overflow-x: clip;
}

/* ✅ Universal box-sizing */
*, *::before, *::after {
  box-sizing: border-box;
}

/* ✅ Smooth anchor scroll */
html {
  scroll-behavior: smooth;
}

/* ✅ Font and Typography */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap');

body .gform_wrapper {
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  color: #2a2a2a;
}

/* ✅ Field Labels */
body .gform_wrapper .gfield_label {
  color: #2B463C;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 4px;
}

/* ❌ Hide Required Asterisk (except on error) */
body .gform_wrapper .gfield_required {
  display: none;
}
body .gform_wrapper .gfield_error .gfield_required {
  display: inline;
  color: red;
  font-size: 14px;
  margin-left: 4px;
}

/* ✅ Field Spacing: reduce vertical gaps */
body .gform_wrapper .gform_body .gform_fields {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
body .gform_wrapper .gform_body .gfield {
  margin-bottom: 12px;
}

/* ✅ Input/textarea styling */
body .gform_wrapper input[type="text"],
body .gform_wrapper input[type="email"],
body .gform_wrapper input[type="tel"],
body .gform_wrapper textarea,
body .gform_wrapper select {
  width: 100%;
  padding: 14px 16px;
  font-size: 16px;
  border: 1px solid #cbd5e0;
  border-radius: 8px;
}

/* ✅ Image Choices Styling – consistent & mobile-ready */
body .gform_wrapper .gfield.image-choices ul.gfield_radio,
body .gform_wrapper .gfield.image-choices ul.gfield_checkbox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 0;
  list-style: none;
}

body .gform_wrapper .gfield.image-choices li {
  width: 100%;
  text-align: center;
  margin: 0;
  padding: 0;
}

body .gform_wrapper .gfield.image-choices img {
  width: 100%;
  max-width: 400px;
  height: auto;
  border-radius: 10px;
  transition: transform 0.2s, box-shadow 0.2s;
}

body .gform_wrapper .gfield.image-choices input:checked + label img {
  box-shadow: 0 0 0 4px #32cd32;
  transform: scale(1.05);
}

/* ✅ Submit Button */
body .gform_wrapper .gform_footer input[type="submit"] {
  background-color: #32cd32;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  padding: 20px 32px;
  border: none;
  border-radius: 30px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
body .gform_wrapper .gform_footer input[type="submit"]:hover {
  background-color: #28b428;
}

/* ✅ Mobile Enhancements */
@media (max-width: 767px) {
  .elementor-container {
    min-height: 100vh;
    height: 100%;
    overflow: auto;
    transform: translateZ(0);
    will-change: transform;
  }

  body .gform_wrapper .gfield input,
  body .gform_wrapper .gfield textarea {
    font-size: 16px;
  }

  body .gform_wrapper .gfield.image-choices img {
    width: 90vw;
  }
}

