.rich_text_module{
    position: relative;
}
.rich_text_module__content{
    position: relative;
    z-index: 3;
}

.rich_text_module .rich_text_module__content p,
.rich_text_module .rich_text_module__content span,
.rich_text_module .rich_text_module__content ul{
    color: var(--text-color);
}

.rich_text_module .rich_text_module__content h1,
.rich_text_module .rich_text_module__content h2,
.rich_text_module .rich_text_module__content h3,
.rich_text_module .rich_text_module__content h4,
.rich_text_module .rich_text_module__content h5,
.rich_text_module .rich_text_module__content h6{ 
    color: var(--heading-color);
}


/* Container */
.rich_text_module .rt-columns{
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* this is what centers "2 items in a 3-col layout" */
  gap: 24px;
}

/* Column items */
.rich_text_module .rt-col{
  min-width: 260px;         /* optional safety so WYSIWYG content does not get too cramped */
  max-width: 100%;
}

/* Two columns: each item is half-width (minus gap) */
.rich_text_module .rt-columns--2 .rt-col{
  flex: 0 0 calc((100% - 24px) / 2);
}

/* Three columns: each item is one-third width (minus gaps) */
.rich_text_module .rt-columns--3 .rt-col{
  flex: 0 0 calc((100% - (24px * 2)) / 3);
}

/* Fullwidth content wrapper */
.rich_text_module .rt-fullwidth{
  width: 100%;
}

/* Responsive: collapse to single column */
@media (max-width: 900px){
  .rich_text_module .rt-columns--2 .rt-col,
  .rich_text_module .rt-columns--3 .rt-col{
    flex: 0 0 100%;
    min-width: 0;
  }
}



/* =========================
   Gravity Forms inside rich_text_module
   ========================= */

/* Scope hard to your module so nothing leaks sitewide */
.rich_text_module .gform_wrapper,
.rich_text_module .gform_wrapper form,
.rich_text_module .gform_wrapper .gform_body,
.rich_text_module .gform_wrapper .gform_fields,
.rich_text_module .gform_wrapper .gfield,
.rich_text_module .gform_wrapper .ginput_container {
  max-width: 100%;
}

/* Common: make inputs consistent */
.rich_text_module .gform_wrapper input[type="text"],
.rich_text_module .gform_wrapper input[type="email"],
.rich_text_module .gform_wrapper input[type="tel"],
.rich_text_module .gform_wrapper input[type="url"],
.rich_text_module .gform_wrapper input[type="number"],
.rich_text_module .gform_wrapper input[type="password"],
.rich_text_module .gform_wrapper input[type="search"],
.rich_text_module .gform_wrapper input[type="date"],
.rich_text_module .gform_wrapper input[type="time"],
.rich_text_module .gform_wrapper input[type="datetime-local"],
.rich_text_module .gform_wrapper input[type="month"],
.rich_text_module .gform_wrapper input[type="week"],
.rich_text_module .gform_wrapper textarea,
.rich_text_module .gform_wrapper select {
  width: 100%;
  box-sizing: border-box;
  background: transparent;
  outline: none;
}

/* Also catch GF "theme framework" fields (newer Gravity Forms) */
.rich_text_module .gform-theme--foundation .gfield input,
.rich_text_module .gform-theme--foundation .gfield textarea,
.rich_text_module .gform-theme--foundation .gfield select {
  background: transparent;
  outline: none;
}

/* ==========================================
   LIGHT FORM
   ========================================== */
.rich_text_module.light-form .gform_wrapper .gfield_label,
.rich_text_module.light-form .gform_wrapper .gfield_description,
.rich_text_module.light-form .gform_wrapper .ginput_complex label,
.rich_text_module.light-form .gform-theme--foundation .gfield_label,
.rich_text_module.light-form .gform-theme--foundation .gfield_description,
.rich_text_module.light-form .gform-theme--foundation .ginput_complex label {
  color: #191d38 !important;
}

.rich_text_module.light-form .gform_wrapper input[type="text"],
.rich_text_module.light-form .gform_wrapper input[type="email"],
.rich_text_module.light-form .gform_wrapper input[type="tel"],
.rich_text_module.light-form .gform_wrapper input[type="url"],
.rich_text_module.light-form .gform_wrapper input[type="number"],
.rich_text_module.light-form .gform_wrapper input[type="password"],
.rich_text_module.light-form .gform_wrapper input[type="search"],
.rich_text_module.light-form .gform_wrapper input[type="date"],
.rich_text_module.light-form .gform_wrapper input[type="time"],
.rich_text_module.light-form .gform_wrapper input[type="datetime-local"],
.rich_text_module.light-form .gform_wrapper input[type="month"],
.rich_text_module.light-form .gform_wrapper input[type="week"],
.rich_text_module.light-form .gform_wrapper textarea,
.rich_text_module.light-form .gform_wrapper select,
.rich_text_module.light-form .gform-theme--foundation .gfield input,
.rich_text_module.light-form .gform-theme--foundation .gfield textarea,
.rich_text_module.light-form .gform-theme--foundation .gfield select {
  color: #191d38 !important;
  border: 1px solid #191d38 !important;
}

/* Placeholders too */
.rich_text_module.light-form .gform_wrapper input::placeholder,
.rich_text_module.light-form .gform_wrapper textarea::placeholder,
.rich_text_module.light-form .gform-theme--foundation input::placeholder,
.rich_text_module.light-form .gform-theme--foundation textarea::placeholder {
  color: #191d38 !important;
  opacity: 0.6;
}

/* Focus state stays same color */
.rich_text_module.light-form .gform_wrapper input:focus,
.rich_text_module.light-form .gform_wrapper textarea:focus,
.rich_text_module.light-form .gform_wrapper select:focus,
.rich_text_module.light-form .gform-theme--foundation .gfield input:focus,
.rich_text_module.light-form .gform-theme--foundation .gfield textarea:focus,
.rich_text_module.light-form .gform-theme--foundation .gfield select:focus {
  border-color: #191d38 !important;
  box-shadow: none !important;
}

/* ==========================================
   DARK FORM
   ========================================== */
.rich_text_module.dark-form .gform_wrapper .gfield_label,
.rich_text_module.dark-form .gform_wrapper .gfield_description,
.rich_text_module.dark-form .gform_wrapper .ginput_complex label,
.rich_text_module.dark-form .gform-theme--foundation .gfield_label,
.rich_text_module.dark-form .gform-theme--foundation .gfield_description,
.rich_text_module.dark-form .gform-theme--foundation .ginput_complex label {
  color: #ffffff !important;
}

.rich_text_module.dark-form .gform_wrapper input[type="text"],
.rich_text_module.dark-form .gform_wrapper input[type="email"],
.rich_text_module.dark-form .gform_wrapper input[type="tel"],
.rich_text_module.dark-form .gform_wrapper input[type="url"],
.rich_text_module.dark-form .gform_wrapper input[type="number"],
.rich_text_module.dark-form .gform_wrapper input[type="password"],
.rich_text_module.dark-form .gform_wrapper input[type="search"],
.rich_text_module.dark-form .gform_wrapper input[type="date"],
.rich_text_module.dark-form .gform_wrapper input[type="time"],
.rich_text_module.dark-form .gform_wrapper input[type="datetime-local"],
.rich_text_module.dark-form .gform_wrapper input[type="month"],
.rich_text_module.dark-form .gform_wrapper input[type="week"],
.rich_text_module.dark-form .gform_wrapper textarea,
.rich_text_module.dark-form .gform_wrapper select,
.rich_text_module.dark-form .gform-theme--foundation .gfield input,
.rich_text_module.dark-form .gform-theme--foundation .gfield textarea,
.rich_text_module.dark-form .gform-theme--foundation .gfield select {
  background: #ffffff !important;
  border: 1px solid #ffffff !important;
  color: #191d38 !important;
  box-shadow: none !important;
}

/* Placeholder text: readable but softer */
.rich_text_module.dark-form .gform_wrapper input::placeholder,
.rich_text_module.dark-form .gform_wrapper textarea::placeholder,
.rich_text_module.dark-form .gform-theme--foundation input::placeholder,
.rich_text_module.dark-form .gform-theme--foundation textarea::placeholder {
  color: #191d38 !important;
  opacity: 0.6;
}

/* Focus: keep the same styling (no weird glow) */
.rich_text_module.dark-form .gform_wrapper input:focus,
.rich_text_module.dark-form .gform_wrapper textarea:focus,
.rich_text_module.dark-form .gform_wrapper select:focus,
.rich_text_module.dark-form .gform-theme--foundation .gfield input:focus,
.rich_text_module.dark-form .gform-theme--foundation .gfield textarea:focus,
.rich_text_module.dark-form .gform-theme--foundation .gfield select:focus {
  border-color: #ffffff !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Checkbox/radio option labels should remain white */
.rich_text_module.dark-form .gform_wrapper .gfield_checkbox label,
.rich_text_module.dark-form .gform_wrapper .gfield_radio label,
.rich_text_module.dark-form .gform-theme--foundation .gfield_checkbox label,
.rich_text_module.dark-form .gform-theme--foundation .gfield_radio label {
  color: #ffffff !important;
}

/* Optional: validation messages readable on dark backgrounds */
.rich_text_module.dark-form .gform_wrapper .validation_message,
.rich_text_module.dark-form .gform_wrapper .gfield_validation_message,
.rich_text_module.dark-form .gform_wrapper .ginput_container_consent label  {
  color: #ffffff !important;
}